rhine-var 2.4.2 → 2.6.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.
@@ -16,7 +16,7 @@ export default abstract class Connector {
16
16
  protected emitSynced(synced: boolean): void;
17
17
  afterSynced(callback: () => void): void;
18
18
  waitSynced(): Promise<void>;
19
- constructor(text?: string);
19
+ constructor();
20
20
  hasState(): boolean;
21
21
  getState(): Native;
22
22
  setState(state: Native): void;
@@ -1 +1 @@
1
- {"version":3,"file":"connector.abstract.d.ts","sourceRoot":"","sources":["../../../src/core/connector/connector.abstract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,gCAA8C;AACxE,OAAO,EAAE,MAAM,EAAE,8BAAiC;AAClD,OAAO,EAAE,gBAAgB,EAAE,iCAAoC;AAC/D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAe;AAEpC,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,SAAS;IACrC,MAAM,CAAC,SAAS,SAAU;IAE1B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAO;IACxB,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAO;IAEjC,QAAQ,SAAK;IACb,MAAM,UAAQ;IAEd,MAAM,EAAE,eAAe,CAA+B;IAEtD,SAAS,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,CAAK;IACpD,eAAe,CAAC,QAAQ,EAAE,gBAAgB;IAM1C,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB;IAG5C,oBAAoB;IAGpB,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO;IAMpC,WAAW,CAAC,QAAQ,EAAE,MAAM,IAAI;IAahC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;gBAMf,IAAI,SAAK;IAErB,QAAQ,IAAI,OAAO;IAInB,QAAQ,IAAI,MAAM;IAIlB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAE7C,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CACrC;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,QAAI"}
1
+ {"version":3,"file":"connector.abstract.d.ts","sourceRoot":"","sources":["../../../src/core/connector/connector.abstract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,gCAA8C;AACxE,OAAO,EAAE,MAAM,EAAE,8BAAiC;AAClD,OAAO,EAAE,gBAAgB,EAAE,iCAAoC;AAC/D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAe;AAEpC,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,SAAS;IACrC,MAAM,CAAC,SAAS,SAAU;IAE1B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAO;IACxB,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAO;IAEjC,QAAQ,SAAK;IACb,MAAM,UAAQ;IAEd,MAAM,EAAE,eAAe,CAA+B;IAEtD,SAAS,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,CAAK;IACpD,eAAe,CAAC,QAAQ,EAAE,gBAAgB;IAM1C,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB;IAG5C,oBAAoB;IAGpB,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO;IAMpC,WAAW,CAAC,QAAQ,EAAE,MAAM,IAAI;IAahC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;;IAQ3B,QAAQ,IAAI,OAAO;IAInB,QAAQ,IAAI,MAAM;IAIlB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAE7C,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CACrC;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,QAAI"}
@@ -39,7 +39,7 @@ class Connector {
39
39
  this.afterSynced(resolve);
40
40
  });
41
41
  }
42
- constructor(text = '') {
42
+ constructor() {
43
43
  this.yDoc = null;
44
44
  this.yBaseMap = null;
45
45
  this.clientId = -1;
@@ -1,5 +1,5 @@
1
1
  import HocuspocusConnector from "./hocuspocus/hocuspocus-connector.class";
2
2
  export declare const PROTOCOL_LIST: string[];
3
3
  export declare const DEFAULT_PUBLIC_URL = "wss://rvp.rhineai.com/";
4
- export declare function createConnector(connectorText: string | number): HocuspocusConnector;
4
+ export declare function createConnector(connectorText: string | number, token?: string): HocuspocusConnector;
5
5
  //# sourceMappingURL=create-connector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-connector.d.ts","sourceRoot":"","sources":["../../../src/core/connector/create-connector.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,gDAA8D;AAExF,eAAO,MAAM,aAAa,UAAsB,CAAA;AAChD,eAAO,MAAM,kBAAkB,2BAA2B,CAAA;AAE1D,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,uBAsB7D"}
1
+ {"version":3,"file":"create-connector.d.ts","sourceRoot":"","sources":["../../../src/core/connector/create-connector.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,gDAA8D;AAExF,eAAO,MAAM,aAAa,UAAsB,CAAA;AAChD,eAAO,MAAM,kBAAkB,2BAA2B,CAAA;AAE1D,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,uBAsB7E"}
@@ -8,7 +8,7 @@ exports.createConnector = createConnector;
8
8
  const hocuspocus_connector_class_1 = __importDefault(require("./hocuspocus/hocuspocus-connector.class"));
9
9
  exports.PROTOCOL_LIST = ['ws://', 'wss://'];
10
10
  exports.DEFAULT_PUBLIC_URL = 'wss://rvp.rhineai.com/';
11
- function createConnector(connectorText) {
11
+ function createConnector(connectorText, token) {
12
12
  var _a;
13
13
  let text = String(connectorText);
14
14
  // Connector is String but not start with protocol
@@ -17,13 +17,13 @@ function createConnector(connectorText) {
17
17
  text = exports.DEFAULT_PUBLIC_URL + text;
18
18
  }
19
19
  // Use HocuspocusConnector by default
20
- const connector = new hocuspocus_connector_class_1.default(text);
20
+ const connector = new hocuspocus_connector_class_1.default();
21
21
  // const connector = new WebsocketConnector(text)
22
22
  // Environment check
23
23
  const isBrowser = typeof window !== 'undefined';
24
24
  const isNode = typeof process !== 'undefined' && ((_a = process.versions) === null || _a === void 0 ? void 0 : _a.node);
25
25
  if (isBrowser || isNode) {
26
- connector.connect(String(text));
26
+ connector.connect(text, token);
27
27
  }
28
28
  return connector;
29
29
  }
@@ -3,8 +3,9 @@ import Connector from "../connector.abstract";
3
3
  export default class HocuspocusConnector extends Connector {
4
4
  url: string;
5
5
  name: string;
6
+ token: string | undefined;
6
7
  provider: HocuspocusProvider | null;
7
- connect(text: string): Promise<void>;
8
+ connect(text: string, token?: string): Promise<void>;
8
9
  disconnect(): Promise<void>;
9
10
  }
10
11
  //# sourceMappingURL=hocuspocus-connector.class.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hocuspocus-connector.class.d.ts","sourceRoot":"","sources":["../../../../src/core/connector/hocuspocus/hocuspocus-connector.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AAIvD,OAAO,SAAS,8BAA2C;AAK3D,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,SAAS;IACxD,GAAG,SAAK;IACR,IAAI,SAAK;IAET,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAO;IAEpC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCpC,UAAU;CAWjB"}
1
+ {"version":3,"file":"hocuspocus-connector.class.d.ts","sourceRoot":"","sources":["../../../../src/core/connector/hocuspocus/hocuspocus-connector.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AAIvD,OAAO,SAAS,8BAA2C;AAK3D,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,SAAS;IACxD,GAAG,SAAK;IACR,IAAI,SAAK;IACT,KAAK,EAAE,MAAM,GAAG,SAAS,CAAY;IAErC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAO;IAEpC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCpD,UAAU;CAWjB"}
@@ -14,9 +14,10 @@ class HocuspocusConnector extends connector_abstract_1.default {
14
14
  super(...arguments);
15
15
  this.url = '';
16
16
  this.name = '';
17
+ this.token = undefined;
17
18
  this.provider = null;
18
19
  }
19
- async connect(text) {
20
+ async connect(text, token) {
20
21
  const li = text.lastIndexOf('/');
21
22
  if (li == -1 || li == text.length - 1 || !text.startsWith('ws')) {
22
23
  (0, logger_1.error)('HocuspocusConnector: UnSupport URL to connect room');
@@ -24,6 +25,7 @@ class HocuspocusConnector extends connector_abstract_1.default {
24
25
  }
25
26
  this.name = text.substring(li + 1);
26
27
  this.url = text.substring(0, li);
28
+ this.token = token;
27
29
  this.yDoc = new index_1.YDoc();
28
30
  this.yBaseMap = this.yDoc.getMap();
29
31
  return new Promise((resolve, reject) => {
@@ -31,6 +33,7 @@ class HocuspocusConnector extends connector_abstract_1.default {
31
33
  url: this.url,
32
34
  name: this.name,
33
35
  document: this.yDoc,
36
+ token: this.token,
34
37
  onStatus: ({ status }) => {
35
38
  this.status = status.toUpperCase();
36
39
  (0, logger_1.log)('HocuspocusProvider.event status:', status);
@@ -3,5 +3,6 @@ export default interface ProxyOptions {
3
3
  overwrite?: boolean;
4
4
  undoManager?: boolean | UndoManagerOptions;
5
5
  awareness?: boolean;
6
+ token?: string;
6
7
  }
7
8
  //# sourceMappingURL=proxy-options.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-options.interface.d.ts","sourceRoot":"","sources":["../../../src/core/proxy/proxy-options.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAEnE,MAAM,CAAC,OAAO,WAAW,YAAY;IACnC,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB,WAAW,CAAC,EAAE,OAAO,GAAG,kBAAkB,CAAA;IAE1C,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB"}
1
+ {"version":3,"file":"proxy-options.interface.d.ts","sourceRoot":"","sources":["../../../src/core/proxy/proxy-options.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAEnE,MAAM,CAAC,OAAO,WAAW,YAAY;IACnC,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB,WAAW,CAAC,EAAE,OAAO,GAAG,kBAAkB,CAAA;IAE1C,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf"}
@@ -1 +1 @@
1
- {"version":3,"file":"rhine-proxy.d.ts","sourceRoot":"","sources":["../../../src/core/proxy/rhine-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,wCAA2C;AAE3D,OAAO,EAAE,MAAM,EAAE,8BAAiC;AAElD,OAAO,YAAY,kCAA4C;AAI/D,OAAO,YAAiD,oCAAuC;AAC/F,OAAO,EAAe,cAAc,EAAE,8BAAiC;AAMvE,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EACzC,YAAY,EAAE,CAAC,GAAG,MAAM,EACxB,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,EACvC,OAAO,GAAE,YAAiB,GACzB,cAAc,CAAC,CAAC,CAAC,CAmCnB;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAChD,IAAI,EAAE,CAAC,GAAG,MAAM,EAChB,MAAM,GAAE,YAAY,GAAG,IAAW,GACjC,cAAc,CAAC,CAAC,CAAC,CA2GnB"}
1
+ {"version":3,"file":"rhine-proxy.d.ts","sourceRoot":"","sources":["../../../src/core/proxy/rhine-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,wCAA2C;AAE3D,OAAO,EAAE,MAAM,EAAE,8BAAiC;AAElD,OAAO,YAAY,kCAA4C;AAI/D,OAAO,YAAiD,oCAAuC;AAC/F,OAAO,EAAe,cAAc,EAAE,8BAAiC;AAMvE,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EACzC,YAAY,EAAE,CAAC,GAAG,MAAM,EACxB,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,EACvC,OAAO,GAAE,YAAiB,GACzB,cAAc,CAAC,CAAC,CAAC,CAkCnB;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAChD,IAAI,EAAE,CAAC,GAAG,MAAM,EAChB,MAAM,GAAE,YAAY,GAAG,IAAW,GACjC,cAAc,CAAC,CAAC,CAAC,CA2GnB"}
@@ -28,9 +28,8 @@ function rhineProxy(defaultValue, connector, options = {}) {
28
28
  const object = rhineProxyGeneral(target);
29
29
  // Create connector by string, number or direct
30
30
  if (typeof connector === 'string' || typeof connector === 'number') {
31
- connector = (0, create_connector_1.createConnector)(connector);
31
+ connector = (0, create_connector_1.createConnector)(connector, options.token);
32
32
  }
33
- connector = connector;
34
33
  const root = object;
35
34
  root._options = options;
36
35
  root._connector = connector;
@@ -24,6 +24,7 @@ export default abstract class RhineVarBase<T extends object = any> {
24
24
  getUndoManager(): UndoManager | null;
25
25
  getAwareness(): Awareness | null;
26
26
  getClientId(): number;
27
+ transact<K>(fn: (transaction: Transaction) => K, origin?: any): K;
27
28
  private _initialize;
28
29
  afterSynced(callback: () => void): void;
29
30
  waitSynced(): Promise<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"rhine-var-base.class.d.ts","sourceRoot":"","sources":["../../../src/core/var/rhine-var-base.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAIlF,OAAO,SAAS,wCAA2C;AAC3D,OAAO,EAAE,MAAM,EAAS,MAAM,EAAE,8BAAiC;AACjE,OAAO,YAAY,yCAA4C;AAE/D,OAAO,EAAE,SAAS,EAAE,sCAAyC;AAC7D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,iCAAoC;AAM1G,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,YAAY,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG;IAE7D,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;gBAFP,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,YAAY,GAAG,IAAW,EACnC,OAAO,GAAE,YAAY,CAAC,CAAC,CAAe;IAKhD,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,SAAS,CAAK;IAEtB,MAAM,IAAI,OAAO;IAIjB,SAAS,IAAI,YAAY,GAAG,IAAI;IAIhC,SAAS,IAAI,MAAM;IAInB,OAAO,IAAI,YAAY;IAQvB,UAAU,IAAI,YAAY;IAI1B,YAAY,IAAI,SAAS,GAAG,IAAI;IAIhC,cAAc,IAAI,WAAW,GAAG,IAAI;IAQpC,YAAY,IAAI,SAAS,GAAG,IAAI;IAQhC,WAAW,IAAI,MAAM;IAQrB,OAAO,CAAC,WAAW;IA+DnB,WAAW,CAAC,QAAQ,EAAE,MAAM,IAAI;IAO1B,UAAU;IAMhB,IAAI,IAAI,CAAC;IAIT,OAAO,CAAC,sBAAsB;IA2B9B,UAAU,IAAI,CAAC;IAwCf,UAAU,CAAC,MAAM,SAAI,GAAG,MAAM;IAI9B,OAAO,CAAC,iBAAiB,CAAyB;IAClD,eAAe,CAAC,QAAQ,EAAE,gBAAgB;IAM1C,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB;IAG5C,oBAAoB;IAIpB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,WAAW,CAAsB;IACzC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAMhD,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;IAGrC,cAAc;IAId,OAAO,CAAC,cAAc,CAAyC;IAC/D,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IASpE,cAAc,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;IAQ3C,iBAAiB;IAIjB,OAAO,CAAC,IAAI;IAkBZ,OAAO,CAAC,eAAe,CAA0B;IACjD,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAMxD,eAAe,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;IAG7C,kBAAkB;IAIlB,QAAQ,CACN,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,GAAG,EACb,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,UAAU,EAC3D,iBAAiB,EAAE,WAAW;IAchC,OAAO,CAAC,QAAQ,CAA0F;IAC1G,OAAO,CAAC,cAAc,CAA4C;IAElE,OAAO;IA4IP,SAAS;CAQV;AAED,eAAO,MAAM,+BAA+B,sBA2D1C,CAAA"}
1
+ {"version":3,"file":"rhine-var-base.class.d.ts","sourceRoot":"","sources":["../../../src/core/var/rhine-var-base.class.ts"],"names":[],"mappings":"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"}
@@ -75,6 +75,13 @@ class RhineVarBase {
75
75
  }
76
76
  return this.getRoot()._clientId;
77
77
  }
78
+ transact(fn, origin) {
79
+ const doc = this._native.doc;
80
+ if (!doc) {
81
+ throw new Error('[RhineVar] Failed to execute transact: Doc not found.');
82
+ }
83
+ return doc.transact(fn, origin);
84
+ }
78
85
  _initialize(native) {
79
86
  var _a;
80
87
  // initialize function will call after every synced
@@ -462,6 +469,7 @@ exports.RHINE_VAR_PREDEFINED_PROPERTIES = new Set([
462
469
  'isRoot',
463
470
  'getRoot',
464
471
  'getNative',
472
+ 'transact',
465
473
  '_options',
466
474
  '_connector',
467
475
  '_undoManager',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rhine-var",
3
- "version": "2.4.2",
3
+ "version": "2.6.0",
4
4
  "description": "Variables that support multi-user collaboration and persistence, making collaboration and variable operations as simple as possible, with strict and well-defined type hints.",
5
5
  "exports": {
6
6
  ".": "./dist/index.js",