@dcl/sdk 7.4.4-8051963017.commit-35a11db → 7.4.5-8054791102.commit-f06a0a7

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,8 +1,10 @@
1
1
  import { compositeFromLoader } from '~sdk/all-composites';
2
2
  import { Composite } from '@dcl/ecs';
3
3
  const composites = [];
4
+ // @public
4
5
  export const compositeProvider = {
5
6
  getCompositeOrNull(src, _currentPath) {
7
+ // TODO: resolve path from src and currentPath
6
8
  const fromLoader = compositeFromLoader[src];
7
9
  if (fromLoader) {
8
10
  try {
@@ -27,4 +29,4 @@ export const compositeProvider = {
27
29
  return composites.find((item) => item.src === src) || null;
28
30
  }
29
31
  };
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL2NvbXBvc2l0ZS1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBRXBDLE1BQU0sVUFBVSxHQUF5QixFQUFFLENBQUE7QUFHM0MsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQXVCO0lBQ25ELGtCQUFrQixDQUFDLEdBQVcsRUFBRSxZQUFxQjtRQUduRCxNQUFNLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUMzQyxJQUFJLFVBQVUsRUFBRTtZQUNkLElBQUk7Z0JBQ0YsSUFBSSxVQUFVLFlBQVksVUFBVSxFQUFFO29CQUNwQyxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFBO29CQUNsRCxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUE7aUJBQ3BDO3FCQUFNLElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFO29CQUN6QyxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQTtvQkFDNUQsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFBO2lCQUNwQztxQkFBTSxJQUFJLE9BQU8sVUFBVSxLQUFLLFFBQVEsRUFBRTtvQkFDekMsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQTtvQkFDaEQsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFBO2lCQUNwQzthQUNGO1lBQUMsT0FBTyxHQUFHLEVBQUU7Z0JBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTthQUNuQjtZQUVELE9BQU8sbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUE7U0FDaEM7UUFFRCxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLElBQUksSUFBSSxDQUFBO0lBQzVELENBQUM7Q0FDRixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcG9zaXRlRnJvbUxvYWRlciB9IGZyb20gJ35zZGsvYWxsLWNvbXBvc2l0ZXMnXG5pbXBvcnQgeyBDb21wb3NpdGUgfSBmcm9tICdAZGNsL2VjcydcblxuY29uc3QgY29tcG9zaXRlczogQ29tcG9zaXRlLlJlc291cmNlW10gPSBbXVxuXG4vLyBAcHVibGljXG5leHBvcnQgY29uc3QgY29tcG9zaXRlUHJvdmlkZXI6IENvbXBvc2l0ZS5Qcm92aWRlciA9IHtcbiAgZ2V0Q29tcG9zaXRlT3JOdWxsKHNyYzogc3RyaW5nLCBfY3VycmVudFBhdGg/OiBzdHJpbmcpIHtcbiAgICAvLyBUT0RPOiByZXNvbHZlIHBhdGggZnJvbSBzcmMgYW5kIGN1cnJlbnRQYXRoXG5cbiAgICBjb25zdCBmcm9tTG9hZGVyID0gY29tcG9zaXRlRnJvbUxvYWRlcltzcmNdXG4gICAgaWYgKGZyb21Mb2FkZXIpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmIChmcm9tTG9hZGVyIGluc3RhbmNlb2YgVWludDhBcnJheSkge1xuICAgICAgICAgIGNvbnN0IGNvbXBvc2l0ZSA9IENvbXBvc2l0ZS5mcm9tQmluYXJ5KGZyb21Mb2FkZXIpXG4gICAgICAgICAgY29tcG9zaXRlcy5wdXNoKHsgc3JjLCBjb21wb3NpdGUgfSlcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZnJvbUxvYWRlciA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBjb25zdCBjb21wb3NpdGUgPSBDb21wb3NpdGUuZnJvbUpzb24oSlNPTi5wYXJzZShmcm9tTG9hZGVyKSlcbiAgICAgICAgICBjb21wb3NpdGVzLnB1c2goeyBzcmMsIGNvbXBvc2l0ZSB9KVxuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBmcm9tTG9hZGVyID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIGNvbnN0IGNvbXBvc2l0ZSA9IENvbXBvc2l0ZS5mcm9tSnNvbihmcm9tTG9hZGVyKVxuICAgICAgICAgIGNvbXBvc2l0ZXMucHVzaCh7IHNyYywgY29tcG9zaXRlIH0pXG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycilcbiAgICAgIH1cblxuICAgICAgZGVsZXRlIGNvbXBvc2l0ZUZyb21Mb2FkZXJbc3JjXVxuICAgIH1cblxuICAgIHJldHVybiBjb21wb3NpdGVzLmZpbmQoKGl0ZW0pID0+IGl0ZW0uc3JjID09PSBzcmMpIHx8IG51bGxcbiAgfVxufVxuIl19
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL2NvbXBvc2l0ZS1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBRXBDLE1BQU0sVUFBVSxHQUF5QixFQUFFLENBQUE7QUFFM0MsVUFBVTtBQUNWLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUF1QjtJQUNuRCxrQkFBa0IsQ0FBQyxHQUFXLEVBQUUsWUFBcUI7UUFDbkQsOENBQThDO1FBRTlDLE1BQU0sVUFBVSxHQUFHLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzNDLElBQUksVUFBVSxFQUFFO1lBQ2QsSUFBSTtnQkFDRixJQUFJLFVBQVUsWUFBWSxVQUFVLEVBQUU7b0JBQ3BDLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUE7b0JBQ2xELFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQTtpQkFDcEM7cUJBQU0sSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUU7b0JBQ3pDLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFBO29CQUM1RCxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUE7aUJBQ3BDO3FCQUFNLElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFO29CQUN6QyxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFBO29CQUNoRCxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUE7aUJBQ3BDO2FBQ0Y7WUFBQyxPQUFPLEdBQUcsRUFBRTtnQkFDWixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO2FBQ25CO1lBRUQsT0FBTyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQTtTQUNoQztRQUVELE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUE7SUFDNUQsQ0FBQztDQUNGLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wb3NpdGVGcm9tTG9hZGVyIH0gZnJvbSAnfnNkay9hbGwtY29tcG9zaXRlcydcbmltcG9ydCB7IENvbXBvc2l0ZSB9IGZyb20gJ0BkY2wvZWNzJ1xuXG5jb25zdCBjb21wb3NpdGVzOiBDb21wb3NpdGUuUmVzb3VyY2VbXSA9IFtdXG5cbi8vIEBwdWJsaWNcbmV4cG9ydCBjb25zdCBjb21wb3NpdGVQcm92aWRlcjogQ29tcG9zaXRlLlByb3ZpZGVyID0ge1xuICBnZXRDb21wb3NpdGVPck51bGwoc3JjOiBzdHJpbmcsIF9jdXJyZW50UGF0aD86IHN0cmluZykge1xuICAgIC8vIFRPRE86IHJlc29sdmUgcGF0aCBmcm9tIHNyYyBhbmQgY3VycmVudFBhdGhcblxuICAgIGNvbnN0IGZyb21Mb2FkZXIgPSBjb21wb3NpdGVGcm9tTG9hZGVyW3NyY11cbiAgICBpZiAoZnJvbUxvYWRlcikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaWYgKGZyb21Mb2FkZXIgaW5zdGFuY2VvZiBVaW50OEFycmF5KSB7XG4gICAgICAgICAgY29uc3QgY29tcG9zaXRlID0gQ29tcG9zaXRlLmZyb21CaW5hcnkoZnJvbUxvYWRlcilcbiAgICAgICAgICBjb21wb3NpdGVzLnB1c2goeyBzcmMsIGNvbXBvc2l0ZSB9KVxuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBmcm9tTG9hZGVyID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIGNvbnN0IGNvbXBvc2l0ZSA9IENvbXBvc2l0ZS5mcm9tSnNvbihKU09OLnBhcnNlKGZyb21Mb2FkZXIpKVxuICAgICAgICAgIGNvbXBvc2l0ZXMucHVzaCh7IHNyYywgY29tcG9zaXRlIH0pXG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGZyb21Mb2FkZXIgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgY29uc3QgY29tcG9zaXRlID0gQ29tcG9zaXRlLmZyb21Kc29uKGZyb21Mb2FkZXIpXG4gICAgICAgICAgY29tcG9zaXRlcy5wdXNoKHsgc3JjLCBjb21wb3NpdGUgfSlcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKVxuICAgICAgfVxuXG4gICAgICBkZWxldGUgY29tcG9zaXRlRnJvbUxvYWRlcltzcmNdXG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbXBvc2l0ZXMuZmluZCgoaXRlbSkgPT4gaXRlbS5zcmMgPT09IHNyYykgfHwgbnVsbFxuICB9XG59XG4iXX0=
package/ecs.d.ts CHANGED
@@ -1 +1,16 @@
1
+ /**
2
+ * The module ecs is exposed by the sdk via `@dcl/sdk/ecs`
3
+ *
4
+ * It defines the engine, components & systems for the SDK 7.
5
+
6
+ * @example
7
+ * ```tsx
8
+ * import { engine, Transform } from '@dcl/sdk/ecs'
9
+ * const entity = engine.addEntity()
10
+ * Transform.create(entity, defaultPosition)
11
+ * ```
12
+ *
13
+ * @module ECS
14
+ *
15
+ */
1
16
  export * from '@dcl/ecs';
package/ecs.js CHANGED
@@ -1,2 +1,17 @@
1
+ /**
2
+ * The module ecs is exposed by the sdk via `@dcl/sdk/ecs`
3
+ *
4
+ * It defines the engine, components & systems for the SDK 7.
5
+
6
+ * @example
7
+ * ```tsx
8
+ * import { engine, Transform } from '@dcl/sdk/ecs'
9
+ * const entity = engine.addEntity()
10
+ * Transform.create(entity, defaultPosition)
11
+ * ```
12
+ *
13
+ * @module ECS
14
+ *
15
+ */
1
16
  export * from '@dcl/ecs';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL2Vjcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsY0FBYyxVQUFVLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZSBtb2R1bGUgZWNzIGlzIGV4cG9zZWQgYnkgdGhlIHNkayB2aWEgYEBkY2wvc2RrL2Vjc2BcbiAqXG4gKiBJdCBkZWZpbmVzIHRoZSBlbmdpbmUsIGNvbXBvbmVudHMgJiBzeXN0ZW1zIGZvciB0aGUgU0RLIDcuXG5cbiogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogaW1wb3J0IHsgZW5naW5lLCBUcmFuc2Zvcm0gfSBmcm9tICdAZGNsL3Nkay9lY3MnXG4gKiBjb25zdCBlbnRpdHkgPSBlbmdpbmUuYWRkRW50aXR5KClcbiAqIFRyYW5zZm9ybS5jcmVhdGUoZW50aXR5LCBkZWZhdWx0UG9zaXRpb24pXG4gKiBgYGBcbiAqXG4gKiBAbW9kdWxlIEVDU1xuICpcbiAqL1xuXG5leHBvcnQgKiBmcm9tICdAZGNsL2VjcydcbiJdfQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL2Vjcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILGNBQWMsVUFBVSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGUgbW9kdWxlIGVjcyBpcyBleHBvc2VkIGJ5IHRoZSBzZGsgdmlhIGBAZGNsL3Nkay9lY3NgXG4gKlxuICogSXQgZGVmaW5lcyB0aGUgZW5naW5lLCBjb21wb25lbnRzICYgc3lzdGVtcyBmb3IgdGhlIFNESyA3LlxuXG4qIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIGltcG9ydCB7IGVuZ2luZSwgVHJhbnNmb3JtIH0gZnJvbSAnQGRjbC9zZGsvZWNzJ1xuICogY29uc3QgZW50aXR5ID0gZW5naW5lLmFkZEVudGl0eSgpXG4gKiBUcmFuc2Zvcm0uY3JlYXRlKGVudGl0eSwgZGVmYXVsdFBvc2l0aW9uKVxuICogYGBgXG4gKlxuICogQG1vZHVsZSBFQ1NcbiAqXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnQGRjbC9lY3MnXG4iXX0=
@@ -1,3 +1,22 @@
1
+ /**
2
+ * This module is exposed by the sdk via `@dcl/sdk/etherum-provider`
3
+ *
4
+
5
+ * @example
6
+ * ```tsx
7
+ * import { createEthereumProvider } from '@dcl/sdk/ethereum-provider'
8
+ * import { ethers } from 'ethers'
9
+
10
+ * const provider = new ethers.providers.Web3Provider(createEthereumProvider() as any)
11
+ * ```
12
+ *
13
+ * @module Etherum Provider
14
+ *
15
+ */
16
+ /**
17
+ * Etherum Provider
18
+ * @public
19
+ */
1
20
  export declare function createEthereumProvider(): {
2
21
  send(message: import("../internal/provider").RPCSendableMessage, callback?: ((error: Error | null, result?: any) => void) | undefined): void;
3
22
  sendAsync(message: import("../internal/provider").RPCSendableMessage, callback: (error: Error | null, result?: any) => void): void;
@@ -1,8 +1,27 @@
1
+ /**
2
+ * This module is exposed by the sdk via `@dcl/sdk/etherum-provider`
3
+ *
4
+
5
+ * @example
6
+ * ```tsx
7
+ * import { createEthereumProvider } from '@dcl/sdk/ethereum-provider'
8
+ * import { ethers } from 'ethers'
9
+
10
+ * const provider = new ethers.providers.Web3Provider(createEthereumProvider() as any)
11
+ * ```
12
+ *
13
+ * @module Etherum Provider
14
+ *
15
+ */
1
16
  import { sendAsync } from '~system/EthereumController';
2
17
  import { getEthereumProvider } from '../internal/provider';
3
18
  import { polyfillTextEncoder } from './text-encoder';
19
+ /**
20
+ * Etherum Provider
21
+ * @public
22
+ */
4
23
  export function createEthereumProvider() {
5
24
  polyfillTextEncoder();
6
25
  return getEthereumProvider(sendAsync);
7
26
  }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZXRoZXJldW0tcHJvdmlkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0JBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVwRCxNQUFNLFVBQVUsc0JBQXNCO0lBQ3BDLG1CQUFtQixFQUFFLENBQUE7SUFDckIsT0FBTyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGlzIG1vZHVsZSBpcyBleHBvc2VkIGJ5IHRoZSBzZGsgdmlhIGBAZGNsL3Nkay9ldGhlcnVtLXByb3ZpZGVyYFxuICpcblxuKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiBpbXBvcnQgeyBjcmVhdGVFdGhlcmV1bVByb3ZpZGVyIH0gZnJvbSAnQGRjbC9zZGsvZXRoZXJldW0tcHJvdmlkZXInXG4gKiBpbXBvcnQgeyBldGhlcnMgfSBmcm9tICdldGhlcnMnXG5cbiAqIGNvbnN0IHByb3ZpZGVyID0gbmV3IGV0aGVycy5wcm92aWRlcnMuV2ViM1Byb3ZpZGVyKGNyZWF0ZUV0aGVyZXVtUHJvdmlkZXIoKSBhcyBhbnkpXG4gKiBgYGBcbiAqXG4gKiBAbW9kdWxlIEV0aGVydW0gUHJvdmlkZXJcbiAqXG4gKi9cblxuaW1wb3J0IHsgc2VuZEFzeW5jIH0gZnJvbSAnfnN5c3RlbS9FdGhlcmV1bUNvbnRyb2xsZXInXG5pbXBvcnQgeyBnZXRFdGhlcmV1bVByb3ZpZGVyIH0gZnJvbSAnLi4vaW50ZXJuYWwvcHJvdmlkZXInXG5pbXBvcnQgeyBwb2x5ZmlsbFRleHRFbmNvZGVyIH0gZnJvbSAnLi90ZXh0LWVuY29kZXInXG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFdGhlcmV1bVByb3ZpZGVyKCkge1xuICBwb2x5ZmlsbFRleHRFbmNvZGVyKClcbiAgcmV0dXJuIGdldEV0aGVyZXVtUHJvdmlkZXIoc2VuZEFzeW5jKVxufVxuXG5leHBvcnQgeyBSUENTZW5kYWJsZU1lc3NhZ2UgfSBmcm9tICcuLi9pbnRlcm5hbC9wcm92aWRlcidcbiJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZXRoZXJldW0tcHJvdmlkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFcEQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQjtJQUNwQyxtQkFBbUIsRUFBRSxDQUFBO0lBQ3JCLE9BQU8sbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUE7QUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBtb2R1bGUgaXMgZXhwb3NlZCBieSB0aGUgc2RrIHZpYSBgQGRjbC9zZGsvZXRoZXJ1bS1wcm92aWRlcmBcbiAqXG5cbiogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogaW1wb3J0IHsgY3JlYXRlRXRoZXJldW1Qcm92aWRlciB9IGZyb20gJ0BkY2wvc2RrL2V0aGVyZXVtLXByb3ZpZGVyJ1xuICogaW1wb3J0IHsgZXRoZXJzIH0gZnJvbSAnZXRoZXJzJ1xuXG4gKiBjb25zdCBwcm92aWRlciA9IG5ldyBldGhlcnMucHJvdmlkZXJzLldlYjNQcm92aWRlcihjcmVhdGVFdGhlcmV1bVByb3ZpZGVyKCkgYXMgYW55KVxuICogYGBgXG4gKlxuICogQG1vZHVsZSBFdGhlcnVtIFByb3ZpZGVyXG4gKlxuICovXG5cbmltcG9ydCB7IHNlbmRBc3luYyB9IGZyb20gJ35zeXN0ZW0vRXRoZXJldW1Db250cm9sbGVyJ1xuaW1wb3J0IHsgZ2V0RXRoZXJldW1Qcm92aWRlciB9IGZyb20gJy4uL2ludGVybmFsL3Byb3ZpZGVyJ1xuaW1wb3J0IHsgcG9seWZpbGxUZXh0RW5jb2RlciB9IGZyb20gJy4vdGV4dC1lbmNvZGVyJ1xuXG4vKipcbiAqIEV0aGVydW0gUHJvdmlkZXJcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUV0aGVyZXVtUHJvdmlkZXIoKSB7XG4gIHBvbHlmaWxsVGV4dEVuY29kZXIoKVxuICByZXR1cm4gZ2V0RXRoZXJldW1Qcm92aWRlcihzZW5kQXN5bmMpXG59XG5cbmV4cG9ydCB7IFJQQ1NlbmRhYmxlTWVzc2FnZSB9IGZyb20gJy4uL2ludGVybmFsL3Byb3ZpZGVyJ1xuIl19
@@ -1,7 +1,8 @@
1
1
  import TextEncodingPolyfill from 'text-encoding';
2
+ /* @__PURE__ */
2
3
  export function polyfillTextEncoder() {
3
4
  ;
4
5
  globalThis.TextEncoder = globalThis.TextEncoder ?? TextEncodingPolyfill.TextEncoder;
5
6
  globalThis.TextDecoder = globalThis.TextDecoder ?? TextEncodingPolyfill.TextDecoder;
6
7
  }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lbmNvZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2V0aGVyZXVtLXByb3ZpZGVyL3RleHQtZW5jb2Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLG9CQUFvQixNQUFNLGVBQWUsQ0FBQTtBQUdoRCxNQUFNLFVBQVUsbUJBQW1CO0lBQ2pDLENBQUM7SUFBQyxVQUFrQixDQUFDLFdBQVcsR0FBSSxVQUFrQixDQUFDLFdBQVcsSUFBSSxvQkFBb0IsQ0FBQyxXQUFXLENBQ3JHO0lBQUMsVUFBa0IsQ0FBQyxXQUFXLEdBQUksVUFBa0IsQ0FBQyxXQUFXLElBQUksb0JBQW9CLENBQUMsV0FBVyxDQUFBO0FBQ3hHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVGV4dEVuY29kaW5nUG9seWZpbGwgZnJvbSAndGV4dC1lbmNvZGluZydcblxuLyogQF9fUFVSRV9fICovXG5leHBvcnQgZnVuY3Rpb24gcG9seWZpbGxUZXh0RW5jb2RlcigpIHtcbiAgOyhnbG9iYWxUaGlzIGFzIGFueSkuVGV4dEVuY29kZXIgPSAoZ2xvYmFsVGhpcyBhcyBhbnkpLlRleHRFbmNvZGVyID8/IFRleHRFbmNvZGluZ1BvbHlmaWxsLlRleHRFbmNvZGVyXG4gIDsoZ2xvYmFsVGhpcyBhcyBhbnkpLlRleHREZWNvZGVyID0gKGdsb2JhbFRoaXMgYXMgYW55KS5UZXh0RGVjb2RlciA/PyBUZXh0RW5jb2RpbmdQb2x5ZmlsbC5UZXh0RGVjb2RlclxufVxuIl19
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lbmNvZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2V0aGVyZXVtLXByb3ZpZGVyL3RleHQtZW5jb2Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLG9CQUFvQixNQUFNLGVBQWUsQ0FBQTtBQUVoRCxlQUFlO0FBQ2YsTUFBTSxVQUFVLG1CQUFtQjtJQUNqQyxDQUFDO0lBQUMsVUFBa0IsQ0FBQyxXQUFXLEdBQUksVUFBa0IsQ0FBQyxXQUFXLElBQUksb0JBQW9CLENBQUMsV0FBVyxDQUNyRztJQUFDLFVBQWtCLENBQUMsV0FBVyxHQUFJLFVBQWtCLENBQUMsV0FBVyxJQUFJLG9CQUFvQixDQUFDLFdBQVcsQ0FBQTtBQUN4RyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFRleHRFbmNvZGluZ1BvbHlmaWxsIGZyb20gJ3RleHQtZW5jb2RpbmcnXG5cbi8qIEBfX1BVUkVfXyAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBvbHlmaWxsVGV4dEVuY29kZXIoKSB7XG4gIDsoZ2xvYmFsVGhpcyBhcyBhbnkpLlRleHRFbmNvZGVyID0gKGdsb2JhbFRoaXMgYXMgYW55KS5UZXh0RW5jb2RlciA/PyBUZXh0RW5jb2RpbmdQb2x5ZmlsbC5UZXh0RW5jb2RlclxuICA7KGdsb2JhbFRoaXMgYXMgYW55KS5UZXh0RGVjb2RlciA9IChnbG9iYWxUaGlzIGFzIGFueSkuVGV4dERlY29kZXIgPz8gVGV4dEVuY29kaW5nUG9seWZpbGwuVGV4dERlY29kZXJcbn1cbiJdfQ==
package/index.js CHANGED
@@ -1,8 +1,11 @@
1
+ /** @alpha THIS FILE INITIALIZES THE DECENTRALAND RUNTIME. WILL CHANGE SOON */
1
2
  import { Composite, engine } from '@dcl/ecs';
2
3
  import { crdtGetState, crdtSendToRenderer, sendBatch } from '~system/EngineApi';
3
4
  import { createRendererTransport } from './internal/transports/rendererTransport';
4
5
  import { pollEvents } from './observables';
5
6
  import { compositeProvider } from './composite-provider';
7
+ // Attach CRDT transport
8
+ // @internal
6
9
  export const rendererTransport = createRendererTransport({ crdtSendToRenderer });
7
10
  engine.addTransport(rendererTransport);
8
11
  export async function onUpdate(deltaTime) {
@@ -10,8 +13,13 @@ export async function onUpdate(deltaTime) {
10
13
  await engine.update(deltaTime);
11
14
  await pollEvents(sendBatch);
12
15
  }
16
+ /**
17
+ * @internal
18
+ * Function that is called before the first update and after the evaluation of the code.
19
+ */
13
20
  export async function onStart() {
14
21
  const response = await crdtGetState({ data: new Uint8Array() });
22
+ // when this condition is true something like `main.crdt` was pre-loaded from the runtime, we don't need to instance the main.composite
15
23
  if (!response.hasEntities) {
16
24
  const mainComposite = compositeProvider.getCompositeOrNull('main.composite');
17
25
  if (mainComposite) {
@@ -32,4 +40,4 @@ export async function onStart() {
32
40
  }
33
41
  }
34
42
  }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUMvRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNqRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBSXhELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLHVCQUF1QixDQUFDLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFBO0FBQ2hGLE1BQU0sQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtBQUV0QyxNQUFNLENBQUMsS0FBSyxVQUFVLFFBQVEsQ0FBQyxTQUFpQjtJQUM5QyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDYixNQUFNLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDOUIsTUFBTSxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUE7QUFDN0IsQ0FBQztBQU1ELE1BQU0sQ0FBQyxLQUFLLFVBQVUsT0FBTztJQUMzQixNQUFNLFFBQVEsR0FBRyxNQUFNLFlBQVksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUcvRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRTtRQUN6QixNQUFNLGFBQWEsR0FBRyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBQzVFLElBQUksYUFBYSxFQUFFO1lBQ2pCLElBQUk7Z0JBQ0YsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixDQUFDLENBQUE7YUFDN0Q7WUFBQyxPQUFPLEdBQUcsRUFBRTtnQkFDWixPQUFPLENBQUMsR0FBRyxDQUFDLGdEQUFnRCxDQUFDLENBQUE7Z0JBQzdELE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7YUFDbkI7U0FDRjtLQUNGO0lBRUQsSUFBSSxDQUFDLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFO1FBQ2pDLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDckQsS0FBSyxNQUFNLFNBQVMsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFO2dCQUNyQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUE7YUFDdkM7U0FDRjtLQUNGO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAYWxwaGEgVEhJUyBGSUxFIElOSVRJQUxJWkVTIFRIRSBERUNFTlRSQUxBTkQgUlVOVElNRS4gV0lMTCBDSEFOR0UgU09PTiAqL1xuaW1wb3J0IHsgQ29tcG9zaXRlLCBlbmdpbmUgfSBmcm9tICdAZGNsL2VjcydcbmltcG9ydCB7IGNyZHRHZXRTdGF0ZSwgY3JkdFNlbmRUb1JlbmRlcmVyLCBzZW5kQmF0Y2ggfSBmcm9tICd+c3lzdGVtL0VuZ2luZUFwaSdcbmltcG9ydCB7IGNyZWF0ZVJlbmRlcmVyVHJhbnNwb3J0IH0gZnJvbSAnLi9pbnRlcm5hbC90cmFuc3BvcnRzL3JlbmRlcmVyVHJhbnNwb3J0J1xuaW1wb3J0IHsgcG9sbEV2ZW50cyB9IGZyb20gJy4vb2JzZXJ2YWJsZXMnXG5pbXBvcnQgeyBjb21wb3NpdGVQcm92aWRlciB9IGZyb20gJy4vY29tcG9zaXRlLXByb3ZpZGVyJ1xuXG4vLyBBdHRhY2ggQ1JEVCB0cmFuc3BvcnRcbi8vIEBpbnRlcm5hbFxuZXhwb3J0IGNvbnN0IHJlbmRlcmVyVHJhbnNwb3J0ID0gY3JlYXRlUmVuZGVyZXJUcmFuc3BvcnQoeyBjcmR0U2VuZFRvUmVuZGVyZXIgfSlcbmVuZ2luZS5hZGRUcmFuc3BvcnQocmVuZGVyZXJUcmFuc3BvcnQpXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBvblVwZGF0ZShkZWx0YVRpbWU6IG51bWJlcikge1xuICBlbmdpbmUuc2VhbCgpXG4gIGF3YWl0IGVuZ2luZS51cGRhdGUoZGVsdGFUaW1lKVxuICBhd2FpdCBwb2xsRXZlbnRzKHNlbmRCYXRjaClcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqIEZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIGJlZm9yZSB0aGUgZmlyc3QgdXBkYXRlIGFuZCBhZnRlciB0aGUgZXZhbHVhdGlvbiBvZiB0aGUgY29kZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG9uU3RhcnQoKSB7XG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY3JkdEdldFN0YXRlKHsgZGF0YTogbmV3IFVpbnQ4QXJyYXkoKSB9KVxuXG4gIC8vIHdoZW4gdGhpcyBjb25kaXRpb24gaXMgdHJ1ZSBzb21ldGhpbmcgbGlrZSBgbWFpbi5jcmR0YCB3YXMgcHJlLWxvYWRlZCBmcm9tIHRoZSBydW50aW1lLCB3ZSBkb24ndCBuZWVkIHRvIGluc3RhbmNlIHRoZSBtYWluLmNvbXBvc2l0ZVxuICBpZiAoIXJlc3BvbnNlLmhhc0VudGl0aWVzKSB7XG4gICAgY29uc3QgbWFpbkNvbXBvc2l0ZSA9IGNvbXBvc2l0ZVByb3ZpZGVyLmdldENvbXBvc2l0ZU9yTnVsbCgnbWFpbi5jb21wb3NpdGUnKVxuICAgIGlmIChtYWluQ29tcG9zaXRlKSB7XG4gICAgICB0cnkge1xuICAgICAgICBDb21wb3NpdGUuaW5zdGFuY2UoZW5naW5lLCBtYWluQ29tcG9zaXRlLCBjb21wb3NpdGVQcm92aWRlcilcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zb2xlLmxvZyhgV2FybmluZzogbWFpbi5jb21wb3NpdGUgY291bGRuJ3QgYmUgaW5zdGFuY2VkLmApXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmICghIXJlbmRlcmVyVHJhbnNwb3J0Lm9ubWVzc2FnZSkge1xuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5kYXRhICYmIHJlc3BvbnNlLmRhdGEubGVuZ3RoKSB7XG4gICAgICBmb3IgKGNvbnN0IGJ5dGVBcnJheSBvZiByZXNwb25zZS5kYXRhKSB7XG4gICAgICAgIHJlbmRlcmVyVHJhbnNwb3J0Lm9ubWVzc2FnZShieXRlQXJyYXkpXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOEVBQThFO0FBQzlFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDL0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDakYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUV4RCx3QkFBd0I7QUFDeEIsWUFBWTtBQUNaLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLHVCQUF1QixDQUFDLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFBO0FBQ2hGLE1BQU0sQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtBQUV0QyxNQUFNLENBQUMsS0FBSyxVQUFVLFFBQVEsQ0FBQyxTQUFpQjtJQUM5QyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDYixNQUFNLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDOUIsTUFBTSxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUE7QUFDN0IsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsT0FBTztJQUMzQixNQUFNLFFBQVEsR0FBRyxNQUFNLFlBQVksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUUvRCx1SUFBdUk7SUFDdkksSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUU7UUFDekIsTUFBTSxhQUFhLEdBQUcsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtRQUM1RSxJQUFJLGFBQWEsRUFBRTtZQUNqQixJQUFJO2dCQUNGLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFBO2FBQzdEO1lBQUMsT0FBTyxHQUFHLEVBQUU7Z0JBQ1osT0FBTyxDQUFDLEdBQUcsQ0FBQyxnREFBZ0QsQ0FBQyxDQUFBO2dCQUM3RCxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO2FBQ25CO1NBQ0Y7S0FDRjtJQUVELElBQUksQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRTtRQUNqQyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3JELEtBQUssTUFBTSxTQUFTLElBQUksUUFBUSxDQUFDLElBQUksRUFBRTtnQkFDckMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFBO2FBQ3ZDO1NBQ0Y7S0FDRjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQGFscGhhIFRISVMgRklMRSBJTklUSUFMSVpFUyBUSEUgREVDRU5UUkFMQU5EIFJVTlRJTUUuIFdJTEwgQ0hBTkdFIFNPT04gKi9cbmltcG9ydCB7IENvbXBvc2l0ZSwgZW5naW5lIH0gZnJvbSAnQGRjbC9lY3MnXG5pbXBvcnQgeyBjcmR0R2V0U3RhdGUsIGNyZHRTZW5kVG9SZW5kZXJlciwgc2VuZEJhdGNoIH0gZnJvbSAnfnN5c3RlbS9FbmdpbmVBcGknXG5pbXBvcnQgeyBjcmVhdGVSZW5kZXJlclRyYW5zcG9ydCB9IGZyb20gJy4vaW50ZXJuYWwvdHJhbnNwb3J0cy9yZW5kZXJlclRyYW5zcG9ydCdcbmltcG9ydCB7IHBvbGxFdmVudHMgfSBmcm9tICcuL29ic2VydmFibGVzJ1xuaW1wb3J0IHsgY29tcG9zaXRlUHJvdmlkZXIgfSBmcm9tICcuL2NvbXBvc2l0ZS1wcm92aWRlcidcblxuLy8gQXR0YWNoIENSRFQgdHJhbnNwb3J0XG4vLyBAaW50ZXJuYWxcbmV4cG9ydCBjb25zdCByZW5kZXJlclRyYW5zcG9ydCA9IGNyZWF0ZVJlbmRlcmVyVHJhbnNwb3J0KHsgY3JkdFNlbmRUb1JlbmRlcmVyIH0pXG5lbmdpbmUuYWRkVHJhbnNwb3J0KHJlbmRlcmVyVHJhbnNwb3J0KVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gb25VcGRhdGUoZGVsdGFUaW1lOiBudW1iZXIpIHtcbiAgZW5naW5lLnNlYWwoKVxuICBhd2FpdCBlbmdpbmUudXBkYXRlKGRlbHRhVGltZSlcbiAgYXdhaXQgcG9sbEV2ZW50cyhzZW5kQmF0Y2gpXG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBGdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCBiZWZvcmUgdGhlIGZpcnN0IHVwZGF0ZSBhbmQgYWZ0ZXIgdGhlIGV2YWx1YXRpb24gb2YgdGhlIGNvZGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBvblN0YXJ0KCkge1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNyZHRHZXRTdGF0ZSh7IGRhdGE6IG5ldyBVaW50OEFycmF5KCkgfSlcblxuICAvLyB3aGVuIHRoaXMgY29uZGl0aW9uIGlzIHRydWUgc29tZXRoaW5nIGxpa2UgYG1haW4uY3JkdGAgd2FzIHByZS1sb2FkZWQgZnJvbSB0aGUgcnVudGltZSwgd2UgZG9uJ3QgbmVlZCB0byBpbnN0YW5jZSB0aGUgbWFpbi5jb21wb3NpdGVcbiAgaWYgKCFyZXNwb25zZS5oYXNFbnRpdGllcykge1xuICAgIGNvbnN0IG1haW5Db21wb3NpdGUgPSBjb21wb3NpdGVQcm92aWRlci5nZXRDb21wb3NpdGVPck51bGwoJ21haW4uY29tcG9zaXRlJylcbiAgICBpZiAobWFpbkNvbXBvc2l0ZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgQ29tcG9zaXRlLmluc3RhbmNlKGVuZ2luZSwgbWFpbkNvbXBvc2l0ZSwgY29tcG9zaXRlUHJvdmlkZXIpXG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc29sZS5sb2coYFdhcm5pbmc6IG1haW4uY29tcG9zaXRlIGNvdWxkbid0IGJlIGluc3RhbmNlZC5gKVxuICAgICAgICBjb25zb2xlLmVycm9yKGVycilcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAoISFyZW5kZXJlclRyYW5zcG9ydC5vbm1lc3NhZ2UpIHtcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UuZGF0YSAmJiByZXNwb25zZS5kYXRhLmxlbmd0aCkge1xuICAgICAgZm9yIChjb25zdCBieXRlQXJyYXkgb2YgcmVzcG9uc2UuZGF0YSkge1xuICAgICAgICByZW5kZXJlclRyYW5zcG9ydC5vbm1lc3NhZ2UoYnl0ZUFycmF5KVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -1,35 +1,191 @@
1
+ /**
2
+ * A class serves as a medium between the observable and its observers
3
+ * @deprecated This function is an inheritance of ECS6, it's here temporary for the feature parity, please read the news and docs to know how handle when it's removed
4
+ * @public
5
+ */
1
6
  export declare class ObserverEventState {
7
+ /**
8
+ * An Observer can set this property to true to prevent subsequent observers of being notified
9
+ */
2
10
  skipNextObservers: boolean;
11
+ /**
12
+ * Get the mask value that were used to trigger the event corresponding to this EventState object
13
+ */
3
14
  mask: number;
15
+ /**
16
+ * The object that originally notified the event
17
+ */
4
18
  target?: any;
19
+ /**
20
+ * The current object in the bubbling phase
21
+ */
5
22
  currentTarget?: any;
23
+ /**
24
+ * This will be populated with the return value of the last function that was executed.
25
+ * If it is the first function in the callback chain it will be the event data.
26
+ */
6
27
  lastReturnValue?: any;
28
+ /**
29
+ * Create a new EventState
30
+ * @param mask - defines the mask associated with this state
31
+ * @param skipNextObservers - defines a flag which will instruct the observable to skip following observers when set to true
32
+ * @param target - defines the original target of the state
33
+ * @param currentTarget - defines the current target of the state
34
+ */
7
35
  constructor(mask: number, skipNextObservers?: boolean, target?: any, currentTarget?: any);
36
+ /**
37
+ * Initialize the current event state
38
+ * @param mask - defines the mask associated with this state
39
+ * @param skipNextObservers - defines a flag which will instruct the observable to skip following observers when set to true
40
+ * @param target - defines the original target of the state
41
+ * @param currentTarget - defines the current target of the state
42
+ * @returns the current event state
43
+ */
8
44
  initalize(mask: number, skipNextObservers?: boolean, target?: any, currentTarget?: any): ObserverEventState;
9
45
  }
46
+ /**
47
+ * Represent an Observer registered to a given Observable object.
48
+ * @deprecated This function is an inheritance of ECS6, it's here temporary for the feature parity, please read the news and docs to know how handle when it's removed
49
+ * @public
50
+ */
10
51
  export declare class Observer<T> {
52
+ /**
53
+ * Defines the callback to call when the observer is notified
54
+ */
11
55
  callback: (eventData: T, eventState: ObserverEventState) => void;
56
+ /**
57
+ * Defines the mask of the observer (used to filter notifications)
58
+ */
12
59
  mask: number;
60
+ /**
61
+ * Defines the current scope used to restore the JS context
62
+ */
13
63
  scope: any;
64
+ /**
65
+ * Gets or sets a property defining that the observer as to be unregistered after the next notification
66
+ */
14
67
  unregisterOnNextCall: boolean;
68
+ /** For internal usage */
15
69
  _willBeUnregistered: boolean;
16
- constructor(callback: (eventData: T, eventState: ObserverEventState) => void, mask: number, scope?: any);
70
+ /**
71
+ * Creates a new observer
72
+ * @param callback - defines the callback to call when the observer is notified
73
+ * @param mask - defines the mask of the observer (used to filter notifications)
74
+ * @param scope - defines the current scope used to restore the JS context
75
+ */
76
+ constructor(
77
+ /**
78
+ * Defines the callback to call when the observer is notified
79
+ */
80
+ callback: (eventData: T, eventState: ObserverEventState) => void,
81
+ /**
82
+ * Defines the mask of the observer (used to filter notifications)
83
+ */
84
+ mask: number,
85
+ /**
86
+ * Defines the current scope used to restore the JS context
87
+ */
88
+ scope?: any);
17
89
  }
90
+ /**
91
+ * The Observable class is a simple implementation of the Observable pattern.
92
+ *
93
+ * There's one slight particularity though: a given Observable can notify its observer using a particular mask value, only the Observers registered with this mask value will be notified.
94
+ * This enable a more fine grained execution without having to rely on multiple different Observable objects.
95
+ * For instance you may have a given Observable that have four different types of notifications: Move (mask = 0x01), Stop (mask = 0x02), Turn Right (mask = 0X04), Turn Left (mask = 0X08).
96
+ * A given observer can register itself with only Move and Stop (mask = 0x03), then it will only be notified when one of these two occurs and will never be for Turn Left/Right.
97
+ *
98
+ * @public
99
+ * @deprecated This function is an inheritance of ECS6, it's here temporary for the feature parity, please read the news and docs to know how handle when it's removed
100
+ */
18
101
  export declare class Observable<T> {
19
102
  private _observers;
20
103
  private _eventState;
21
104
  private _onObserverAdded;
105
+ /**
106
+ * Creates a new observable
107
+ * @param onObserverAdded - defines a callback to call when a new observer is added
108
+ */
22
109
  constructor(onObserverAdded?: (observer: Observer<T>) => void);
110
+ /**
111
+ * Create a new Observer with the specified callback
112
+ * @param callback - the callback that will be executed for that Observer
113
+ * @param mask - the mask used to filter observers
114
+ * @param insertFirst - if true the callback will be inserted at the first position, hence executed before the others ones. If false (default behavior) the callback will be inserted at the last position, executed after all the others already present.
115
+ * @param scope - optional scope for the callback to be called from
116
+ * @param unregisterOnFirstCall - defines if the observer as to be unregistered after the next notification
117
+ * @returns the new observer created for the callback
118
+ */
23
119
  add(callback: (eventData: T, eventState: ObserverEventState) => void, mask?: number, insertFirst?: boolean, scope?: any, unregisterOnFirstCall?: boolean): null | Observer<T>;
120
+ /**
121
+ * Create a new Observer with the specified callback and unregisters after the next notification
122
+ * @param callback - the callback that will be executed for that Observer
123
+ * @returns the new observer created for the callback
124
+ */
24
125
  addOnce(callback: (eventData: T, eventState: ObserverEventState) => void): null | Observer<T>;
126
+ /**
127
+ * Remove an Observer from the Observable object
128
+ * @param observer - the instance of the Observer to remove
129
+ * @returns false if it doesn't belong to this Observable
130
+ */
25
131
  remove(observer: null | Observer<T>): boolean;
132
+ /**
133
+ * Remove a callback from the Observable object
134
+ * @param callback - the callback to remove
135
+ * @param scope - optional scope. If used only the callbacks with this scope will be removed
136
+ * @returns false if it doesn't belong to this Observable
137
+ */
26
138
  removeCallback(callback: (eventData: T, eventState: ObserverEventState) => void, scope?: any): boolean;
139
+ /**
140
+ * Notify all Observers by calling their respective callback with the given data
141
+ * Will return true if all observers were executed, false if an observer set skipNextObservers to true, then prevent the subsequent ones to execute
142
+ * @param eventData - defines the data to send to all observers
143
+ * @param mask - defines the mask of the current notification (observers with incompatible mask (ie mask & observer.mask === 0) will not be notified)
144
+ * @param target - defines the original target of the state
145
+ * @param currentTarget - defines the current target of the state
146
+ * @returns false if the complete observer chain was not processed (because one observer set the skipNextObservers to true)
147
+ */
27
148
  notifyObservers(eventData: T, mask?: number, target?: any, currentTarget?: any): boolean;
149
+ /**
150
+ * Calling this will execute each callback, expecting it to be a promise or return a value.
151
+ * If at any point in the chain one function fails, the promise will fail and the execution will not continue.
152
+ * This is useful when a chain of events (sometimes async events) is needed to initialize a certain object
153
+ * and it is crucial that all callbacks will be executed.
154
+ * The order of the callbacks is kept, callbacks are not executed parallel.
155
+ *
156
+ * @param eventData - The data to be sent to each callback
157
+ * @param mask - is used to filter observers defaults to -1
158
+ * @param target - defines the callback target (see EventState)
159
+ * @param currentTarget - defines he current object in the bubbling phase
160
+ * @returns will return a Promise than resolves when all callbacks executed successfully.
161
+ */
28
162
  notifyObserversWithPromise(eventData: T, mask?: number, target?: any, currentTarget?: any): Promise<T>;
163
+ /**
164
+ * Notify a specific observer
165
+ * @param observer - defines the observer to notify
166
+ * @param eventData - defines the data to be sent to each callback
167
+ * @param mask - is used to filter observers defaults to -1
168
+ */
29
169
  notifyObserver(observer: Observer<T>, eventData: T, mask?: number): void;
170
+ /**
171
+ * Gets a boolean indicating if the observable has at least one observer
172
+ * @returns true is the Observable has at least one Observer registered
173
+ */
30
174
  hasObservers(): boolean;
175
+ /**
176
+ * Clear the list of observers
177
+ */
31
178
  clear(): void;
179
+ /**
180
+ * Clone the current observable
181
+ * @returns a new observable
182
+ */
32
183
  clone(): Observable<T>;
184
+ /**
185
+ * Does this observable handles observer registered with a given mask
186
+ * @param mask - defines the mask to be tested
187
+ * @returns whether or not one observer registered with the given mask is handeled
188
+ */
33
189
  hasSpecificMask(mask?: number): boolean;
34
190
  private _deferUnregister;
35
191
  private _remove;