@anov/3d 0.0.289 → 0.0.290
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/anov3d.js +43 -40
- package/dist/anov3d.js.map +1 -1
- package/dist/applicationApi.js +118 -94
- package/dist/applicationApi.js.map +1 -1
- package/dist/hooksManager.js +10 -10
- package/dist/hooksManager.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/messageStatus.js +3 -3
- package/dist/messageStatus.js.map +1 -1
- package/dist/module/animation/index.js +113 -61
- package/dist/module/animation/index.js.map +1 -1
- package/dist/module/animation/motion/index.js +91 -58
- package/dist/module/animation/motion/index.js.map +1 -1
- package/dist/module/animation/strategy.js +21 -7
- package/dist/module/animation/strategy.js.map +1 -1
- package/dist/module/camera/index.js +278 -216
- package/dist/module/camera/index.js.map +1 -1
- package/dist/module/develop/index.js +35 -27
- package/dist/module/develop/index.js.map +1 -1
- package/dist/module/entity/area/index.js +87 -29
- package/dist/module/entity/area/index.js.map +1 -1
- package/dist/module/entity/bar/index.js +24 -5
- package/dist/module/entity/bar/index.js.map +1 -1
- package/dist/module/entity/bar/style/bar_01.js +52 -13
- package/dist/module/entity/bar/style/bar_01.js.map +1 -1
- package/dist/module/entity/bar/style/index.js +21 -7
- package/dist/module/entity/bar/style/index.js.map +1 -1
- package/dist/module/entity/baseEntity.js +66 -43
- package/dist/module/entity/baseEntity.js.map +1 -1
- package/dist/module/entity/batch/index.js +168 -77
- package/dist/module/entity/batch/index.js.map +1 -1
- package/dist/module/entity/dispose.js +16 -14
- package/dist/module/entity/dispose.js.map +1 -1
- package/dist/module/entity/flyline/index.js +90 -34
- package/dist/module/entity/flyline/index.js.map +1 -1
- package/dist/module/entity/group/index.js +75 -59
- package/dist/module/entity/group/index.js.map +1 -1
- package/dist/module/entity/heatmap/index.js +79 -62
- package/dist/module/entity/heatmap/index.js.map +1 -1
- package/dist/module/entity/hybridList.js +67 -49
- package/dist/module/entity/hybridList.js.map +1 -1
- package/dist/module/entity/index.js +644 -442
- package/dist/module/entity/index.js.map +1 -1
- package/dist/module/entity/infoPanel/index.js +76 -23
- package/dist/module/entity/infoPanel/index.js.map +1 -1
- package/dist/module/entity/light/pointLight/index.js +84 -48
- package/dist/module/entity/light/pointLight/index.js.map +1 -1
- package/dist/module/entity/mark/index.js +101 -51
- package/dist/module/entity/mark/index.js.map +1 -1
- package/dist/module/entity/model/index.js +151 -108
- package/dist/module/entity/model/index.js.map +1 -1
- package/dist/module/entity/model/load/loadFbx.js +8 -8
- package/dist/module/entity/model/load/loadFbx.js.map +1 -1
- package/dist/module/entity/model/load/loadGlb.js +11 -13
- package/dist/module/entity/model/load/loadGlb.js.map +1 -1
- package/dist/module/entity/model/load.js +57 -19
- package/dist/module/entity/model/load.js.map +1 -1
- package/dist/module/entity/poi/index.js +90 -34
- package/dist/module/entity/poi/index.js.map +1 -1
- package/dist/module/entity/shape/index.js +136 -67
- package/dist/module/entity/shape/index.js.map +1 -1
- package/dist/module/entity/spline/index.js +75 -22
- package/dist/module/entity/spline/index.js.map +1 -1
- package/dist/module/entity/strategy.js +274 -92
- package/dist/module/entity/strategy.js.map +1 -1
- package/dist/module/entity/traffic/realismTraffic/index.js +88 -59
- package/dist/module/entity/traffic/realismTraffic/index.js.map +1 -1
- package/dist/module/entity/traffic/streamerTraffic/index.js +81 -50
- package/dist/module/entity/traffic/streamerTraffic/index.js.map +1 -1
- package/dist/module/entity/utils.js +13 -11
- package/dist/module/entity/utils.js.map +1 -1
- package/dist/module/entity/videoPanel/index.js +76 -23
- package/dist/module/entity/videoPanel/index.js.map +1 -1
- package/dist/module/environment/index.js +73 -54
- package/dist/module/environment/index.js.map +1 -1
- package/dist/module/environment/season/index.js +184 -342
- package/dist/module/environment/season/index.js.map +1 -1
- package/dist/module/eventBus/entityEvents.js +1 -1
- package/dist/module/eventBus/entityEvents.js.map +1 -1
- package/dist/module/eventBus/index.js +93 -79
- package/dist/module/eventBus/index.js.map +1 -1
- package/dist/module/material/index.js +334 -279
- package/dist/module/material/index.js.map +1 -1
- package/dist/module/scene/fileParse.js +369 -276
- package/dist/module/scene/fileParse.js.map +1 -1
- package/dist/module/scene/index.js +161 -106
- package/dist/module/scene/index.js.map +1 -1
- package/dist/module/tool/index.js +33 -26
- package/dist/module/tool/index.js.map +1 -1
- package/dist/sdkEntry.js +23 -2
- package/dist/sdkEntry.js.map +1 -1
- package/dist/utils/abstract.js +15 -12
- package/dist/utils/abstract.js.map +1 -1
- package/dist/utils/index.js +24 -23
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/messageFn.js +18 -17
- package/dist/utils/messageFn.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,11 +1,15 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
1
2
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
2
3
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
5
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
6
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
3
7
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
4
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" ==
|
|
5
|
-
function _toPrimitive(t, r) { if ("object" !=
|
|
8
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
9
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
6
10
|
import { HeatMap } from '@anov/3d-ability';
|
|
7
11
|
import { Euler, MathUtils, Vector3, use } from '@anov/3d-core';
|
|
8
|
-
|
|
12
|
+
var defaultOption = {
|
|
9
13
|
name: '',
|
|
10
14
|
visible: true,
|
|
11
15
|
position: [0, 0, 0],
|
|
@@ -13,66 +17,79 @@ const defaultOption = {
|
|
|
13
17
|
scale: [1, 1, 1],
|
|
14
18
|
radius: 10
|
|
15
19
|
};
|
|
16
|
-
|
|
17
|
-
|
|
20
|
+
var HeatmapManage = /*#__PURE__*/function () {
|
|
21
|
+
function HeatmapManage() {
|
|
22
|
+
_classCallCheck(this, HeatmapManage);
|
|
18
23
|
_defineProperty(this, "_heatmap", void 0);
|
|
19
24
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
result
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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
|
-
|
|
25
|
+
_createClass(HeatmapManage, [{
|
|
26
|
+
key: "setOption",
|
|
27
|
+
value: function setOption(option, target) {
|
|
28
|
+
var _defaultOption$option = _objectSpread(_objectSpread({}, defaultOption), option),
|
|
29
|
+
name = _defaultOption$option.name,
|
|
30
|
+
visible = _defaultOption$option.visible,
|
|
31
|
+
position = _defaultOption$option.position,
|
|
32
|
+
rotation = _defaultOption$option.rotation,
|
|
33
|
+
scale = _defaultOption$option.scale;
|
|
34
|
+
target.name = name;
|
|
35
|
+
target.visible = visible;
|
|
36
|
+
target.position.copy(new Vector3().fromArray(position));
|
|
37
|
+
target.rotation.copy(new Euler(MathUtils.degToRad(rotation[0]), MathUtils.degToRad(rotation[1]), MathUtils.degToRad(rotation[2])));
|
|
38
|
+
target.scale.copy(new Vector3().fromArray(scale));
|
|
39
|
+
target.userData.option = _objectSpread(_objectSpread({}, defaultOption), option);
|
|
40
|
+
}
|
|
41
|
+
}, {
|
|
42
|
+
key: "handleMappingGradien",
|
|
43
|
+
value: function handleMappingGradien(colorGradient) {
|
|
44
|
+
var result = {};
|
|
45
|
+
colorGradient.forEach(function (color, index) {
|
|
46
|
+
var position = index === colorGradient.length - 1 ? 1.0 : Number(((index + 1) / colorGradient.length).toFixed(2));
|
|
47
|
+
result[position] = color;
|
|
48
|
+
});
|
|
49
|
+
return result;
|
|
50
|
+
}
|
|
51
|
+
}, {
|
|
52
|
+
key: "create",
|
|
53
|
+
value: function create(json) {
|
|
54
|
+
var _defaultOption$json = _objectSpread(_objectSpread({}, defaultOption), json),
|
|
55
|
+
effectUri = _defaultOption$json.effectUri,
|
|
56
|
+
radius = _defaultOption$json.radius,
|
|
57
|
+
_defaultOption$json$c = _defaultOption$json.colorGradient,
|
|
58
|
+
colorGradient = _defaultOption$json$c === void 0 ? ['#0000FF', '#00FF00', '#FFFF00', '#FF0000'] : _defaultOption$json$c,
|
|
59
|
+
_defaultOption$json$r = _defaultOption$json.range,
|
|
60
|
+
range = _defaultOption$json$r === void 0 ? [] : _defaultOption$json$r;
|
|
61
|
+
this._heatmap = new HeatMap({
|
|
62
|
+
height: 1,
|
|
63
|
+
isPixel: effectUri === 'dot',
|
|
64
|
+
radius: radius,
|
|
65
|
+
colorMap: this.handleMappingGradien(colorGradient),
|
|
66
|
+
range: {
|
|
67
|
+
min: range[0],
|
|
68
|
+
max: range[1]
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
this._heatmap.setData(json.points.map(function (item) {
|
|
72
|
+
return {
|
|
73
|
+
x: item.position[0],
|
|
74
|
+
y: 0,
|
|
75
|
+
z: item.position[1],
|
|
76
|
+
value: item.value,
|
|
77
|
+
radius: item.radius
|
|
78
|
+
};
|
|
79
|
+
}));
|
|
80
|
+
this.setOption(json, this._heatmap);
|
|
81
|
+
use.useScene().scene.add(this._heatmap);
|
|
82
|
+
return this._heatmap;
|
|
83
|
+
}
|
|
84
|
+
}, {
|
|
85
|
+
key: "update",
|
|
86
|
+
value: function update(target, option) {
|
|
87
|
+
var lastOption = target.userData.option;
|
|
88
|
+
if (this._heatmap) this._heatmap.removeFromParent();
|
|
89
|
+
return this.create(_objectSpread(_objectSpread({}, lastOption), option));
|
|
90
|
+
}
|
|
91
|
+
}]);
|
|
92
|
+
return HeatmapManage;
|
|
93
|
+
}();
|
|
77
94
|
export default HeatmapManage;
|
|
78
95
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HeatMap","Euler","MathUtils","Vector3","use","defaultOption","name","visible","position","rotation","scale","radius","HeatmapManage","
|
|
1
|
+
{"version":3,"names":["HeatMap","Euler","MathUtils","Vector3","use","defaultOption","name","visible","position","rotation","scale","radius","HeatmapManage","_classCallCheck","_defineProperty","_createClass","key","value","setOption","option","target","_defaultOption$option","_objectSpread","copy","fromArray","degToRad","userData","handleMappingGradien","colorGradient","result","forEach","color","index","length","Number","toFixed","create","json","_defaultOption$json","effectUri","_defaultOption$json$c","_defaultOption$json$r","range","_heatmap","height","isPixel","colorMap","min","max","setData","points","map","item","x","y","z","useScene","scene","add","update","lastOption","removeFromParent"],"sources":["../../../../src/module/entity/heatmap/index.ts"],"sourcesContent":["import { HeatMap } from '@anov/3d-ability'\nimport type { Object3D } from '@anov/3d-core'\nimport { Euler, MathUtils, Vector3, use } from '@anov/3d-core'\n\ntype PointsTypeItem = {\n position: number[]\n value: number\n radius?: number\n}\n\ntype PartialHeatmapOption = Partial<{\n name: string\n visible: boolean\n position: number[]\n rotation: number[]\n scale: number[]\n range: number[]\n colorGradient: number[]\n effectUri: string\n radius?: number\n}> & {\n points: PointsTypeItem[]\n}\n\nconst defaultOption = {\n name: '',\n visible: true,\n position: [0, 0, 0],\n rotation: [0, 0, 0],\n scale: [1, 1, 1],\n radius: 10,\n}\n\nclass HeatmapManage {\n private _heatmap: HeatMap\n\n private setOption(option: PartialHeatmapOption, target: HeatMap) {\n const { name, visible, position, rotation, scale } = { ...defaultOption, ...option }\n\n target.name = name\n target.visible = visible\n target.position.copy(new Vector3().fromArray(position))\n target.rotation.copy(new Euler(MathUtils.degToRad(rotation[0]), MathUtils.degToRad(rotation[1]), MathUtils.degToRad(rotation[2])))\n target.scale.copy(new Vector3().fromArray(scale))\n\n target.userData.option = { ...defaultOption, ...option }\n }\n\n private handleMappingGradien(colorGradient: string[] | number[]) {\n const result = {}\n\n colorGradient.forEach((color, index) => {\n const position = index === colorGradient.length - 1\n ? 1.0\n : Number(((index + 1) / colorGradient.length).toFixed(2))\n\n result[position] = color\n })\n\n return result\n }\n\n public create(json: PartialHeatmapOption) {\n const { effectUri, radius, colorGradient = ['#0000FF', '#00FF00', '#FFFF00', '#FF0000'], range = [] } = { ...defaultOption, ...json }\n\n this._heatmap = new HeatMap({\n height: 1,\n isPixel: effectUri === 'dot',\n radius,\n colorMap: this.handleMappingGradien(colorGradient),\n range: {\n min: range[0],\n max: range[1],\n },\n })\n\n this._heatmap.setData(\n json.points.map(item => ({\n x: item.position[0],\n y: 0,\n z: item.position[1],\n value: item.value,\n radius: item.radius,\n })),\n )\n\n this.setOption(json, this._heatmap)\n use.useScene().scene.add(this._heatmap)\n\n return this._heatmap\n }\n\n public update(target: Object3D, option: PartialHeatmapOption) {\n const lastOption = target.userData.option\n\n if (this._heatmap)\n this._heatmap.removeFromParent()\n\n return this.create({ ...lastOption, ...option })\n }\n}\nexport default HeatmapManage"],"mappings":"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"}
|
|
@@ -1,20 +1,24 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
3
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
4
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
1
5
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" ==
|
|
3
|
-
function _toPrimitive(t, r) { if ("object" !=
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
6
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
7
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
8
|
+
var ListNode = /*#__PURE__*/_createClass(function ListNode(value, key) {
|
|
9
|
+
_classCallCheck(this, ListNode);
|
|
10
|
+
_defineProperty(this, "value", void 0);
|
|
11
|
+
_defineProperty(this, "key", void 0);
|
|
12
|
+
_defineProperty(this, "next", void 0);
|
|
13
|
+
_defineProperty(this, "prev", void 0);
|
|
14
|
+
this.value = value;
|
|
15
|
+
this.key = key;
|
|
16
|
+
this.next = null;
|
|
17
|
+
this.prev = null;
|
|
18
|
+
});
|
|
19
|
+
var HybridList = /*#__PURE__*/function () {
|
|
20
|
+
function HybridList() {
|
|
21
|
+
_classCallCheck(this, HybridList);
|
|
18
22
|
_defineProperty(this, "map", void 0);
|
|
19
23
|
_defineProperty(this, "head", void 0);
|
|
20
24
|
_defineProperty(this, "tail", void 0);
|
|
@@ -22,39 +26,53 @@ class HybridList {
|
|
|
22
26
|
this.head = null;
|
|
23
27
|
this.tail = null;
|
|
24
28
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const node = this.map.get(key);
|
|
31
|
-
if (node) node.value = value;
|
|
32
|
-
}
|
|
33
|
-
has(key) {
|
|
34
|
-
return this.map.has(key);
|
|
35
|
-
}
|
|
36
|
-
add(key, value) {
|
|
37
|
-
if (this.map.has(key)) throw new Error(`${key} already exists`);
|
|
38
|
-
const newNode = new ListNode(value, key);
|
|
39
|
-
this.map.set(key, newNode);
|
|
40
|
-
if (this.tail) {
|
|
41
|
-
this.tail.next = newNode;
|
|
42
|
-
newNode.prev = this.tail;
|
|
43
|
-
this.tail = newNode;
|
|
44
|
-
} else {
|
|
45
|
-
this.head = this.tail = newNode;
|
|
29
|
+
_createClass(HybridList, [{
|
|
30
|
+
key: "get",
|
|
31
|
+
value: function get(key) {
|
|
32
|
+
var node = this.map.get(key);
|
|
33
|
+
return node ? node.value : null;
|
|
46
34
|
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
35
|
+
}, {
|
|
36
|
+
key: "update",
|
|
37
|
+
value: function update(key, value) {
|
|
38
|
+
var node = this.map.get(key);
|
|
39
|
+
if (node) node.value = value;
|
|
40
|
+
}
|
|
41
|
+
}, {
|
|
42
|
+
key: "has",
|
|
43
|
+
value: function has(key) {
|
|
44
|
+
return this.map.has(key);
|
|
45
|
+
}
|
|
46
|
+
}, {
|
|
47
|
+
key: "add",
|
|
48
|
+
value: function add(key, value) {
|
|
49
|
+
if (this.map.has(key)) throw new Error("".concat(key, " already exists"));
|
|
50
|
+
var newNode = new ListNode(value, key);
|
|
51
|
+
this.map.set(key, newNode);
|
|
52
|
+
if (this.tail) {
|
|
53
|
+
this.tail.next = newNode;
|
|
54
|
+
newNode.prev = this.tail;
|
|
55
|
+
this.tail = newNode;
|
|
56
|
+
} else {
|
|
57
|
+
this.head = this.tail = newNode;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}, {
|
|
61
|
+
key: "delete",
|
|
62
|
+
value: function _delete(key) {
|
|
63
|
+
var node = this.map.get(key);
|
|
64
|
+
if (!node) return;
|
|
65
|
+
if (node.prev) node.prev.next = node.next;else this.head = node.next;
|
|
66
|
+
if (node.next) node.next.prev = node.prev;else this.tail = node.prev;
|
|
67
|
+
this.map.delete(key);
|
|
68
|
+
}
|
|
69
|
+
}, {
|
|
70
|
+
key: "clear",
|
|
71
|
+
value: function clear() {
|
|
72
|
+
this.map.clear();
|
|
73
|
+
}
|
|
74
|
+
}]);
|
|
75
|
+
return HybridList;
|
|
76
|
+
}();
|
|
59
77
|
export default HybridList;
|
|
60
78
|
//# sourceMappingURL=hybridList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ListNode","
|
|
1
|
+
{"version":3,"names":["ListNode","_createClass","value","key","_classCallCheck","_defineProperty","next","prev","HybridList","map","Map","head","tail","get","node","update","has","add","Error","concat","newNode","set","_delete","delete","clear"],"sources":["../../../src/module/entity/hybridList.ts"],"sourcesContent":["class ListNode<T> {\n value: T\n key: string | number\n next: ListNode<T> | null\n prev: ListNode<T> | null\n\n constructor(value: T, key: string | number) {\n this.value = value\n this.key = key\n this.next = null\n this.prev = null\n }\n}\n\nclass HybridList<T> {\n public map: Map<string | number, ListNode<T>>\n private head: ListNode<T> | null\n private tail: ListNode<T> | null\n\n constructor() {\n this.map = new Map<string | number, ListNode<T>>()\n this.head = null\n this.tail = null\n }\n\n get(key: string | number): T | null {\n const node = this.map.get(key)\n return node ? node.value : null\n }\n\n update(key: string | number, value: T): void {\n const node = this.map.get(key)\n if (node)\n node.value = value\n }\n\n has(key: string | number) {\n return this.map.has(key)\n }\n\n add(key: string | number, value: T): void {\n if (this.map.has(key))\n throw new Error(`${key} already exists`)\n\n const newNode = new ListNode(value, key)\n this.map.set(key, newNode)\n\n if (this.tail) {\n this.tail.next = newNode\n newNode.prev = this.tail\n this.tail = newNode\n }\n else {\n this.head = this.tail = newNode\n }\n }\n\n delete(key: string | number): void {\n const node = this.map.get(key)\n\n if (!node)\n return\n\n if (node.prev)\n node.prev.next = node.next\n else\n this.head = node.next\n\n if (node.next)\n node.next.prev = node.prev\n else\n this.tail = node.prev\n\n this.map.delete(key)\n }\n\n clear() {\n this.map.clear()\n }\n}\n\nexport default HybridList\n"],"mappings":"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"}
|