rhine-var 0.8.7 → 0.8.8
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/dist/core/event/callback.d.ts +3 -3
- package/dist/core/event/callback.d.ts.map +1 -1
- package/dist/core/proxy/rhine-proxy.d.ts +3 -3
- package/dist/core/proxy/rhine-proxy.d.ts.map +1 -1
- package/dist/core/utils/var.utils.d.ts +1 -1
- package/dist/core/var/rhine-var.type.d.ts +0 -1
- package/dist/core/var/rhine-var.type.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/react/hooks/use-rhine.hook.d.ts +2 -2
- package/dist/react/hooks/use-rhine.hook.d.ts.map +1 -1
- package/dist/react/hooks/use-rhine.hook.js +20 -5
- package/dist/react/hooks/use-synced.hook.d.ts +2 -2
- package/dist/react/hooks/use-synced.hook.d.ts.map +1 -1
- package/dist/utils/get-path-from-root.d.ts +4 -0
- package/dist/utils/get-path-from-root.d.ts.map +1 -0
- package/dist/utils/get-path-from-root.js +38 -0
- package/dist/utils/get-target-by-path-from-root.d.ts +3 -0
- package/dist/utils/get-target-by-path-from-root.d.ts.map +1 -0
- package/dist/utils/get-target-by-path-from-root.js +13 -0
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ChangeType } from "./change-type.enum";
|
|
2
2
|
import { Transaction, YArrayEvent, YMapEvent, YTextEvent } from "yjs";
|
|
3
3
|
import { YPath } from "../native/native.type";
|
|
4
|
-
import {
|
|
5
|
-
export type Callback<T> = (key: keyof T, value: T[keyof T] extends object ? T[keyof T] |
|
|
6
|
-
export type DeepCallback<T> = (path: YPath, value: any |
|
|
4
|
+
import { StoredRhineVar } from "../var/rhine-var.type";
|
|
5
|
+
export type Callback<T> = (key: keyof T, value: T[keyof T] extends object ? T[keyof T] | StoredRhineVar<T[keyof T]> : T[keyof T], oldValue: T[keyof T], type: ChangeType, nativeEvent: YMapEvent<any> | YArrayEvent<any> | YTextEvent, nativeTransaction: Transaction) => void;
|
|
6
|
+
export type DeepCallback<T> = (path: YPath, value: any | StoredRhineVar<any>, oldValue: any, type: ChangeType, nativeEvent: YMapEvent<any> | YArrayEvent<any> | YTextEvent, nativeTransaction: Transaction) => void;
|
|
7
7
|
export type SyncedCallback = (synced: boolean) => void;
|
|
8
8
|
//# sourceMappingURL=callback.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callback.d.ts","sourceRoot":"","sources":["../../../src/core/event/callback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,2BAAsC;AACzD,OAAO,EAAgB,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAC,MAAM,KAAK,CAAC;AACnF,OAAO,EAAC,KAAK,EAAC,8BAAkC;AAChD,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"callback.d.ts","sourceRoot":"","sources":["../../../src/core/event/callback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,2BAAsC;AACzD,OAAO,EAAgB,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAC,MAAM,KAAK,CAAC;AACnF,OAAO,EAAC,KAAK,EAAC,8BAAkC;AAChD,OAAO,EAAC,cAAc,EAAC,8BAAkC;AAGzD,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CACxB,GAAG,EAAE,MAAM,CAAC,EACZ,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,EACvF,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EACpB,IAAI,EAAE,UAAU,EAChB,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,UAAU,EAC3D,iBAAiB,EAAE,WAAW,KAC3B,IAAI,CAAA;AAET,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAC5B,IAAI,EAAE,KAAK,EACX,KAAK,EAAE,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,EAChC,QAAQ,EAAE,GAAG,EACb,IAAI,EAAE,UAAU,EAChB,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,UAAU,EAC3D,iBAAiB,EAAE,WAAW,KAC3B,IAAI,CAAA;AAET,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import Connector from "../connector/connector.abstract";
|
|
2
2
|
import RhineVarBase from "../var/rhine-var-base.class";
|
|
3
|
-
import {
|
|
3
|
+
import { StoredRhineVar } from "../var/rhine-var.type";
|
|
4
4
|
import { Native } from "../native/native.type";
|
|
5
5
|
import ProxyOptions from "./proxy-options.interface";
|
|
6
|
-
export declare function rhineProxy<T extends object>(defaultValue: T | Native, connector?: Connector | string | number, options?: ProxyOptions):
|
|
7
|
-
export declare function rhineProxyGeneral<T extends object>(data: T | Native, parent?: RhineVarBase | null):
|
|
6
|
+
export declare function rhineProxy<T extends object>(defaultValue: T | Native, connector?: Connector | string | number, options?: ProxyOptions): StoredRhineVar<T>;
|
|
7
|
+
export declare function rhineProxyGeneral<T extends object>(data: T | Native, parent?: RhineVarBase | null): StoredRhineVar<T>;
|
|
8
8
|
//# sourceMappingURL=rhine-proxy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rhine-proxy.d.ts","sourceRoot":"","sources":["../../../src/core/proxy/rhine-proxy.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,wCAA4C;AAC5D,OAAO,YAA+C,oCAAwC;AAE9F,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"rhine-proxy.d.ts","sourceRoot":"","sources":["../../../src/core/proxy/rhine-proxy.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,wCAA4C;AAC5D,OAAO,YAA+C,oCAAwC;AAE9F,OAAO,EAAC,cAAc,EAAc,8BAAkC;AACtE,OAAO,EAAC,MAAM,EAAC,8BAAkC;AAajD,OAAO,YAAY,kCAA6C;AAGhE,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;AAGD,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAChD,IAAI,EAAE,CAAC,GAAG,MAAM,EAChB,MAAM,GAAE,YAAY,GAAG,IAAW,GACjC,cAAc,CAAC,CAAC,CAAC,CA6GnB"}
|
|
@@ -8,7 +8,7 @@ import RhineVarBase from "../var/rhine-var-base.class";
|
|
|
8
8
|
import { RhineVarAny, StoredRhineVar } from "../var/rhine-var.type";
|
|
9
9
|
import { Native } from "../native/native.type";
|
|
10
10
|
import RhineVarObject from "../var/items/rhine-var-object.class";
|
|
11
|
-
export declare function isRhineVar(value: any): value is RhineVarXmlText | RhineVarXmlElement<any> | RhineVarXmlFragment | RhineVarText | RhineVarObject<any> |
|
|
11
|
+
export declare function isRhineVar(value: any): value is RhineVarXmlText | RhineVarXmlElement<any> | RhineVarXmlFragment | RhineVarText | RhineVarObject<any> | RhineVarArray<any, any> | RhineVarMap<any, any>;
|
|
12
12
|
export declare function ensureRhineVar<T extends object = any>(value: T | Native, parent: RhineVarBase<any>): StoredRhineVar<T> | any;
|
|
13
13
|
export declare function ensureNative<T extends object = any>(value: T | RhineVarBase<T> | Native): Native;
|
|
14
14
|
export type Basic = string | number | boolean | null | undefined;
|
|
@@ -17,7 +17,6 @@ export type RecursiveArray<T> = RhineVarArray<T extends object ? RecursiveCrossR
|
|
|
17
17
|
export type RecursiveMap<T> = RhineVarMap<T extends object ? RecursiveCrossRhineVar<T> : T, T>;
|
|
18
18
|
export type RecursiveCrossRhineVar<T extends object> = T extends YXmlText | YText | YXmlFragment ? RhineVar<T> : T extends (infer U)[] | YArray<infer U> | RhineVarArray<infer U> ? RecursiveArray<U> : T extends YObject<any> | RhineVarObject<any> ? RecursiveObject<T> : T extends YMap<infer U> | RhineVarMap<infer U> ? RecursiveMap<U> : RecursiveObject<T>;
|
|
19
19
|
export type StoredRhineVar<T extends object = any> = RecursiveCrossRhineVar<T>;
|
|
20
|
-
export type ProxiedRhineVar<T extends object = any> = StoredRhineVar<T>;
|
|
21
20
|
export type InputItem<T> = T extends object ? T | Native | StoredRhineVar<T> : T;
|
|
22
21
|
export type OutputItem<T> = T extends object ? StoredRhineVar<T> : T;
|
|
23
22
|
//# sourceMappingURL=rhine-var.type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rhine-var.type.d.ts","sourceRoot":"","sources":["../../../src/core/var/rhine-var.type.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rhine-var.type.d.ts","sourceRoot":"","sources":["../../../src/core/var/rhine-var.type.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { rhineProxy, rhineProxyGeneral } from "./core/proxy/rhine-proxy";
|
|
2
|
-
import { RhineVar, RecursiveCrossRhineVar, StoredRhineVar,
|
|
2
|
+
import { RhineVar, RecursiveCrossRhineVar, StoredRhineVar, RhineVarAny } from "./core/var/rhine-var.type";
|
|
3
3
|
import Connector from "./core/connector/connector.abstract";
|
|
4
4
|
import useRhine from "./react/hooks/use-rhine.hook";
|
|
5
5
|
import useSynced from "./react/hooks/use-synced.hook";
|
|
@@ -17,5 +17,5 @@ import text from "./core/proxy/items/text";
|
|
|
17
17
|
import map from "./core/proxy/items/map";
|
|
18
18
|
import item from "./core/proxy/items/item";
|
|
19
19
|
import { Doc as YDoc, Array as YArray, Map as YMap, Text as YText, XmlFragment as YXmlFragment, XmlElement as YXmlElement, XmlText as YXmlText } from "yjs";
|
|
20
|
-
export { Connector, rhineProxy, rhineProxyGeneral, item, text, map, RhineVarBase, RhineVarAny, RhineVar, RhineVarMap, RhineVarArray, RhineVarText, RhineVarXmlText, RhineVarXmlElement, RhineVarXmlFragment, SupportManager, RecursiveCrossRhineVar, StoredRhineVar,
|
|
20
|
+
export { Connector, rhineProxy, rhineProxyGeneral, item, text, map, RhineVarBase, RhineVarAny, RhineVar, RhineVarMap, RhineVarArray, RhineVarText, RhineVarXmlText, RhineVarXmlElement, RhineVarXmlFragment, SupportManager, RecursiveCrossRhineVar, StoredRhineVar, YPath, Native, enableRhineVarLog, enableRhineVarSyncHandshakeCheck, getRhineVarConfig, useRhine, useSynced, YDoc, YMap, YArray, YText, YXmlFragment, YXmlElement, YXmlText, };
|
|
21
21
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,iBAAiB,EAAC,iCAAiC;AACvE,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,iBAAiB,EAAC,iCAAiC;AACvE,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,cAAc,EAAE,WAAW,EAAE,kCAAkC;AAC1G,OAAO,SAAS,4CAA4C;AAC5D,OAAO,QAAQ,qCAAoC;AACnD,OAAO,SAAS,sCAAqC;AACrD,OAAO,EAAC,MAAM,EAAE,KAAK,EAAC,kCAAkC;AACxD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gCAAgC,EAAE,wBAAwB;AACzG,OAAO,YAAY,wCAAwC;AAC3D,OAAO,WAAW,6CAA6C;AAC/D,OAAO,aAAa,+CAA+C;AACnE,OAAO,YAAY,8CAA8C;AACjE,OAAO,eAAe,kDAAkD;AACxE,OAAO,kBAAkB,qDAAqD;AAC9E,OAAO,mBAAmB,sDAAsD;AAChF,OAAO,cAAc,2CAA2C;AAChE,OAAO,IAAI,gCAAgC;AAC3C,OAAO,GAAG,MAAM,wBAAwB,CAAC;AACzC,OAAO,IAAI,MAAM,yBAAyB,CAAC;AAC3C,OAAO,EACL,GAAG,IAAI,IAAI,EACX,KAAK,IAAI,MAAM,EACf,GAAG,IAAI,IAAI,EACX,IAAI,IAAI,KAAK,EACb,WAAW,IAAI,YAAY,EAC3B,UAAU,IAAI,WAAW,EACzB,OAAO,IAAI,QAAQ,EACpB,MAAM,KAAK,CAAC;AAEb,OAAO,EACL,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,WAAW,EACX,aAAa,EACb,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,KAAK,EACL,MAAM,EACN,iBAAiB,EACjB,gCAAgC,EAChC,iBAAiB,EACjB,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,KAAK,EACL,YAAY,EACZ,WAAW,EACX,QAAQ,GACT,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export default function useRhine<T extends object>(proxy:
|
|
1
|
+
import { StoredRhineVar } from "../../core/var/rhine-var.type";
|
|
2
|
+
export default function useRhine<T extends object>(proxy: StoredRhineVar<T>): Readonly<T>;
|
|
3
3
|
//# sourceMappingURL=use-rhine.hook.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-rhine.hook.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/use-rhine.hook.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"use-rhine.hook.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/use-rhine.hook.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,cAAc,EAAC,sCAAkC;AAItE,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAgCxF"}
|
|
@@ -3,13 +3,28 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.default = useRhine;
|
|
5
5
|
const react_1 = require("react");
|
|
6
|
+
const get_path_from_root_1 = require("../../utils/get-path-from-root");
|
|
7
|
+
const get_target_by_path_from_root_1 = require("../../utils/get-target-by-path-from-root");
|
|
6
8
|
function useRhine(proxy) {
|
|
7
|
-
const
|
|
8
|
-
const [state, setState] = (0, react_1.useState)(createSnapshot);
|
|
9
|
+
const [state, setState] = (0, react_1.useState)(() => proxy.json());
|
|
9
10
|
(0, react_1.useEffect)(() => {
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
|
|
11
|
+
const root = proxy.root();
|
|
12
|
+
const path = (0, get_path_from_root_1.getPathFromRoot)(proxy);
|
|
13
|
+
let updateState = () => setState(() => proxy.json());
|
|
14
|
+
let unsubscribeDeep = proxy.subscribeDeep(updateState);
|
|
15
|
+
let unsubscribeSynced = root.subscribeSynced(() => {
|
|
16
|
+
updateState();
|
|
17
|
+
setTimeout(() => {
|
|
18
|
+
let newProxy = (0, get_target_by_path_from_root_1.getTargetByPathFromRoot)(root, path);
|
|
19
|
+
if (newProxy && newProxy !== proxy) {
|
|
20
|
+
console.log('useRhine: proxy changed');
|
|
21
|
+
unsubscribeDeep();
|
|
22
|
+
updateState = () => setState(() => newProxy.json());
|
|
23
|
+
unsubscribeDeep = proxy.subscribeDeep(updateState);
|
|
24
|
+
}
|
|
25
|
+
updateState();
|
|
26
|
+
}, 1);
|
|
27
|
+
});
|
|
13
28
|
return () => {
|
|
14
29
|
unsubscribeSynced();
|
|
15
30
|
unsubscribeDeep();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import Connector from "../../core/connector/connector.abstract";
|
|
2
|
-
import {
|
|
3
|
-
export default function useSynced(target?: Connector |
|
|
2
|
+
import { StoredRhineVar } from "../../core/var/rhine-var.type";
|
|
3
|
+
export default function useSynced(target?: Connector | StoredRhineVar): boolean;
|
|
4
4
|
//# sourceMappingURL=use-synced.hook.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-synced.hook.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/use-synced.hook.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,gDAA4C;AAE5D,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"use-synced.hook.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/use-synced.hook.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,gDAA4C;AAE5D,OAAO,EAAC,cAAc,EAAC,sCAAkC;AAGzD,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,cAAc,WAyBpE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-path-from-root.d.ts","sourceRoot":"","sources":["../../src/utils/get-path-from-root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,cAAc,EAAC,mCAAkC;AACtE,OAAO,EAAC,KAAK,EAAC,mCAAkC;AAIhD,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,KAAK,CA8B7D"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPathFromRoot = getPathFromRoot;
|
|
4
|
+
const index_1 = require("../index");
|
|
5
|
+
const logger_1 = require("./logger");
|
|
6
|
+
function getPathFromRoot(target) {
|
|
7
|
+
var _a, _b;
|
|
8
|
+
const path = [];
|
|
9
|
+
let current = target;
|
|
10
|
+
let native = current.native;
|
|
11
|
+
let parent = (_a = current.parent) === null || _a === void 0 ? void 0 : _a.native;
|
|
12
|
+
while (parent) {
|
|
13
|
+
let flag = false;
|
|
14
|
+
if (parent instanceof index_1.YMap) {
|
|
15
|
+
parent.forEach((value, key) => {
|
|
16
|
+
if (value === native) {
|
|
17
|
+
path.unshift(key);
|
|
18
|
+
flag = true;
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
else if (parent instanceof index_1.YArray) {
|
|
23
|
+
parent.forEach((value, key) => {
|
|
24
|
+
if (value === native) {
|
|
25
|
+
path.unshift(key);
|
|
26
|
+
flag = true;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
if (!flag) {
|
|
31
|
+
(0, logger_1.error)('Failed to get path from root');
|
|
32
|
+
}
|
|
33
|
+
current = current.parent;
|
|
34
|
+
native = current.native;
|
|
35
|
+
parent = (_b = current.parent) === null || _b === void 0 ? void 0 : _b.native;
|
|
36
|
+
}
|
|
37
|
+
return path;
|
|
38
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-target-by-path-from-root.d.ts","sourceRoot":"","sources":["../../src/utils/get-target-by-path-from-root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,mCAAkC;AAEhD,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,GAAG,EACT,IAAI,EAAE,KAAK,OAUZ"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTargetByPathFromRoot = getTargetByPathFromRoot;
|
|
4
|
+
function getTargetByPathFromRoot(root, path) {
|
|
5
|
+
let target = root;
|
|
6
|
+
for (const key of path) {
|
|
7
|
+
target = target[key];
|
|
8
|
+
if (target === undefined) {
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
return target;
|
|
13
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rhine-var",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.8",
|
|
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
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|