@combeenation/3d-viewer 5.1.2 → 5.2.0-alpha4

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.
Files changed (221) hide show
  1. package/README.md +111 -111
  2. package/dist/lib-cjs/api/classes/animationInterface.d.ts +8 -8
  3. package/dist/lib-cjs/api/classes/animationInterface.js +2 -1
  4. package/dist/lib-cjs/api/classes/dottedPath.d.ts +79 -79
  5. package/dist/lib-cjs/api/classes/dottedPath.js +166 -187
  6. package/dist/lib-cjs/api/classes/dottedPath.js.map +1 -1
  7. package/dist/lib-cjs/api/classes/element.d.ts +149 -149
  8. package/dist/lib-cjs/api/classes/element.js +668 -823
  9. package/dist/lib-cjs/api/classes/element.js.map +1 -1
  10. package/dist/lib-cjs/api/classes/event.d.ts +326 -326
  11. package/dist/lib-cjs/api/classes/event.js +349 -371
  12. package/dist/lib-cjs/api/classes/event.js.map +1 -1
  13. package/dist/lib-cjs/api/classes/eventBroadcaster.d.ts +26 -26
  14. package/dist/lib-cjs/api/classes/eventBroadcaster.js +49 -53
  15. package/dist/lib-cjs/api/classes/eventBroadcaster.js.map +1 -1
  16. package/dist/lib-cjs/api/classes/parameter.d.ts +336 -336
  17. package/dist/lib-cjs/api/classes/parameter.js +461 -471
  18. package/dist/lib-cjs/api/classes/parameter.js.map +1 -1
  19. package/dist/lib-cjs/api/classes/parameterObservable.d.ts +36 -36
  20. package/dist/lib-cjs/api/classes/parameterObservable.js +97 -101
  21. package/dist/lib-cjs/api/classes/parameterObservable.js.map +1 -1
  22. package/dist/lib-cjs/api/classes/parameterizable.d.ts +15 -15
  23. package/dist/lib-cjs/api/classes/parameterizable.js +102 -149
  24. package/dist/lib-cjs/api/classes/parameterizable.js.map +1 -1
  25. package/dist/lib-cjs/api/classes/placementAnimation.d.ts +45 -44
  26. package/dist/lib-cjs/api/classes/placementAnimation.js +175 -163
  27. package/dist/lib-cjs/api/classes/placementAnimation.js.map +1 -1
  28. package/dist/lib-cjs/api/classes/variant.d.ts +234 -234
  29. package/dist/lib-cjs/api/classes/variant.js +836 -1203
  30. package/dist/lib-cjs/api/classes/variant.js.map +1 -1
  31. package/dist/lib-cjs/api/classes/variantInstance.d.ts +45 -45
  32. package/dist/lib-cjs/api/classes/variantInstance.js +101 -108
  33. package/dist/lib-cjs/api/classes/variantInstance.js.map +1 -1
  34. package/dist/lib-cjs/api/classes/variantParameterizable.d.ts +17 -17
  35. package/dist/lib-cjs/api/classes/variantParameterizable.js +88 -99
  36. package/dist/lib-cjs/api/classes/variantParameterizable.js.map +1 -1
  37. package/dist/lib-cjs/api/classes/viewer.d.ts +187 -184
  38. package/dist/lib-cjs/api/classes/viewer.js +593 -731
  39. package/dist/lib-cjs/api/classes/viewer.js.map +1 -1
  40. package/dist/lib-cjs/api/classes/viewerLight.d.ts +66 -66
  41. package/dist/lib-cjs/api/classes/viewerLight.js +343 -392
  42. package/dist/lib-cjs/api/classes/viewerLight.js.map +1 -1
  43. package/dist/lib-cjs/api/internal/lensRendering.d.ts +8 -8
  44. package/dist/lib-cjs/api/internal/lensRendering.js +11 -11
  45. package/dist/lib-cjs/api/internal/lensRendering.js.map +1 -1
  46. package/dist/lib-cjs/api/internal/sceneSetup.d.ts +13 -13
  47. package/dist/lib-cjs/api/internal/sceneSetup.js +225 -238
  48. package/dist/lib-cjs/api/internal/sceneSetup.js.map +1 -1
  49. package/dist/lib-cjs/api/manager/animationManager.d.ts +30 -29
  50. package/dist/lib-cjs/api/manager/animationManager.js +126 -130
  51. package/dist/lib-cjs/api/manager/animationManager.js.map +1 -1
  52. package/dist/lib-cjs/api/manager/gltfExportManager.d.ts +65 -65
  53. package/dist/lib-cjs/api/manager/gltfExportManager.js +196 -223
  54. package/dist/lib-cjs/api/manager/gltfExportManager.js.map +1 -1
  55. package/dist/lib-cjs/api/manager/sceneManager.d.ts +31 -31
  56. package/dist/lib-cjs/api/manager/sceneManager.js +127 -152
  57. package/dist/lib-cjs/api/manager/sceneManager.js.map +1 -1
  58. package/dist/lib-cjs/api/manager/variantInstanceManager.d.ts +92 -92
  59. package/dist/lib-cjs/api/manager/variantInstanceManager.js +260 -335
  60. package/dist/lib-cjs/api/manager/variantInstanceManager.js.map +1 -1
  61. package/dist/lib-cjs/api/store/specStorage.d.ts +24 -24
  62. package/dist/lib-cjs/api/store/specStorage.js +50 -51
  63. package/dist/lib-cjs/api/store/specStorage.js.map +1 -1
  64. package/dist/lib-cjs/api/util/babylonHelper.d.ts +174 -174
  65. package/dist/lib-cjs/api/util/babylonHelper.js +591 -611
  66. package/dist/lib-cjs/api/util/babylonHelper.js.map +1 -1
  67. package/dist/lib-cjs/api/util/globalTypes.d.ts +366 -366
  68. package/dist/lib-cjs/api/util/globalTypes.js +1 -1
  69. package/dist/lib-cjs/api/util/resourceHelper.d.ts +58 -58
  70. package/dist/lib-cjs/api/util/resourceHelper.js +201 -257
  71. package/dist/lib-cjs/api/util/resourceHelper.js.map +1 -1
  72. package/dist/lib-cjs/api/util/sceneLoaderHelper.d.ts +35 -35
  73. package/dist/lib-cjs/api/util/sceneLoaderHelper.js +141 -140
  74. package/dist/lib-cjs/api/util/sceneLoaderHelper.js.map +1 -1
  75. package/dist/lib-cjs/api/util/stringHelper.d.ts +9 -9
  76. package/dist/lib-cjs/api/util/stringHelper.js +23 -25
  77. package/dist/lib-cjs/api/util/stringHelper.js.map +1 -1
  78. package/dist/lib-cjs/api/util/structureHelper.d.ts +9 -9
  79. package/dist/lib-cjs/api/util/structureHelper.js +48 -48
  80. package/dist/lib-cjs/api/util/structureHelper.js.map +1 -1
  81. package/dist/lib-cjs/buildinfo.json +3 -3
  82. package/dist/lib-cjs/index.d.ts +51 -49
  83. package/dist/lib-cjs/index.js +110 -89
  84. package/dist/lib-cjs/index.js.map +1 -1
  85. package/dist/lib-es6/api/classes/animationInterface.d.ts +8 -8
  86. package/dist/lib-es6/api/classes/animationInterface.js +1 -1
  87. package/dist/lib-es6/api/classes/dottedPath.d.ts +79 -79
  88. package/dist/lib-es6/api/classes/dottedPath.js +162 -184
  89. package/dist/lib-es6/api/classes/dottedPath.js.map +1 -1
  90. package/dist/lib-es6/api/classes/element.d.ts +149 -149
  91. package/dist/lib-es6/api/classes/element.js +664 -820
  92. package/dist/lib-es6/api/classes/element.js.map +1 -1
  93. package/dist/lib-es6/api/classes/event.d.ts +326 -326
  94. package/dist/lib-es6/api/classes/event.js +345 -368
  95. package/dist/lib-es6/api/classes/event.js.map +1 -1
  96. package/dist/lib-es6/api/classes/eventBroadcaster.d.ts +26 -26
  97. package/dist/lib-es6/api/classes/eventBroadcaster.js +42 -50
  98. package/dist/lib-es6/api/classes/eventBroadcaster.js.map +1 -1
  99. package/dist/lib-es6/api/classes/parameter.d.ts +336 -336
  100. package/dist/lib-es6/api/classes/parameter.js +457 -468
  101. package/dist/lib-es6/api/classes/parameter.js.map +1 -1
  102. package/dist/lib-es6/api/classes/parameterObservable.d.ts +36 -36
  103. package/dist/lib-es6/api/classes/parameterObservable.js +93 -98
  104. package/dist/lib-es6/api/classes/parameterObservable.js.map +1 -1
  105. package/dist/lib-es6/api/classes/parameterizable.d.ts +15 -15
  106. package/dist/lib-es6/api/classes/parameterizable.js +98 -146
  107. package/dist/lib-es6/api/classes/parameterizable.js.map +1 -1
  108. package/dist/lib-es6/api/classes/placementAnimation.d.ts +45 -44
  109. package/dist/lib-es6/api/classes/placementAnimation.js +171 -160
  110. package/dist/lib-es6/api/classes/placementAnimation.js.map +1 -1
  111. package/dist/lib-es6/api/classes/variant.d.ts +234 -234
  112. package/dist/lib-es6/api/classes/variant.js +832 -1198
  113. package/dist/lib-es6/api/classes/variant.js.map +1 -1
  114. package/dist/lib-es6/api/classes/variantInstance.d.ts +45 -45
  115. package/dist/lib-es6/api/classes/variantInstance.js +97 -105
  116. package/dist/lib-es6/api/classes/variantInstance.js.map +1 -1
  117. package/dist/lib-es6/api/classes/variantParameterizable.d.ts +17 -17
  118. package/dist/lib-es6/api/classes/variantParameterizable.js +84 -96
  119. package/dist/lib-es6/api/classes/variantParameterizable.js.map +1 -1
  120. package/dist/lib-es6/api/classes/viewer.d.ts +187 -184
  121. package/dist/lib-es6/api/classes/viewer.js +586 -728
  122. package/dist/lib-es6/api/classes/viewer.js.map +1 -1
  123. package/dist/lib-es6/api/classes/viewerLight.d.ts +66 -66
  124. package/dist/lib-es6/api/classes/viewerLight.js +316 -389
  125. package/dist/lib-es6/api/classes/viewerLight.js.map +1 -1
  126. package/dist/lib-es6/api/internal/lensRendering.d.ts +8 -8
  127. package/dist/lib-es6/api/internal/lensRendering.js +8 -8
  128. package/dist/lib-es6/api/internal/lensRendering.js.map +1 -1
  129. package/dist/lib-es6/api/internal/sceneSetup.d.ts +13 -13
  130. package/dist/lib-es6/api/internal/sceneSetup.js +197 -233
  131. package/dist/lib-es6/api/internal/sceneSetup.js.map +1 -1
  132. package/dist/lib-es6/api/manager/animationManager.d.ts +30 -29
  133. package/dist/lib-es6/api/manager/animationManager.js +122 -127
  134. package/dist/lib-es6/api/manager/animationManager.js.map +1 -1
  135. package/dist/lib-es6/api/manager/gltfExportManager.d.ts +65 -65
  136. package/dist/lib-es6/api/manager/gltfExportManager.js +192 -220
  137. package/dist/lib-es6/api/manager/gltfExportManager.js.map +1 -1
  138. package/dist/lib-es6/api/manager/sceneManager.d.ts +31 -31
  139. package/dist/lib-es6/api/manager/sceneManager.js +123 -149
  140. package/dist/lib-es6/api/manager/sceneManager.js.map +1 -1
  141. package/dist/lib-es6/api/manager/variantInstanceManager.d.ts +92 -92
  142. package/dist/lib-es6/api/manager/variantInstanceManager.js +256 -332
  143. package/dist/lib-es6/api/manager/variantInstanceManager.js.map +1 -1
  144. package/dist/lib-es6/api/store/specStorage.d.ts +24 -24
  145. package/dist/lib-es6/api/store/specStorage.js +46 -48
  146. package/dist/lib-es6/api/store/specStorage.js.map +1 -1
  147. package/dist/lib-es6/api/util/babylonHelper.d.ts +174 -174
  148. package/dist/lib-es6/api/util/babylonHelper.js +561 -581
  149. package/dist/lib-es6/api/util/babylonHelper.js.map +1 -1
  150. package/dist/lib-es6/api/util/globalTypes.d.ts +366 -366
  151. package/dist/lib-es6/api/util/globalTypes.js +1 -1
  152. package/dist/lib-es6/api/util/resourceHelper.d.ts +58 -58
  153. package/dist/lib-es6/api/util/resourceHelper.js +191 -247
  154. package/dist/lib-es6/api/util/resourceHelper.js.map +1 -1
  155. package/dist/lib-es6/api/util/sceneLoaderHelper.d.ts +35 -35
  156. package/dist/lib-es6/api/util/sceneLoaderHelper.js +131 -133
  157. package/dist/lib-es6/api/util/sceneLoaderHelper.js.map +1 -1
  158. package/dist/lib-es6/api/util/stringHelper.d.ts +9 -9
  159. package/dist/lib-es6/api/util/stringHelper.js +19 -21
  160. package/dist/lib-es6/api/util/stringHelper.js.map +1 -1
  161. package/dist/lib-es6/api/util/structureHelper.d.ts +9 -9
  162. package/dist/lib-es6/api/util/structureHelper.js +45 -45
  163. package/dist/lib-es6/api/util/structureHelper.js.map +1 -1
  164. package/dist/lib-es6/buildinfo.json +3 -3
  165. package/dist/lib-es6/index.d.ts +51 -49
  166. package/dist/lib-es6/index.js +48 -50
  167. package/dist/lib-es6/index.js.map +1 -1
  168. package/dist/lib-full/lens-rendering.js +2 -0
  169. package/dist/lib-full/lens-rendering.js.map +1 -0
  170. package/dist/lib-full/main.js +3 -0
  171. package/dist/lib-full/main.js.LICENSE.txt +9 -0
  172. package/dist/lib-full/main.js.map +1 -0
  173. package/package.json +76 -88
  174. package/src/api/classes/animationInterface.ts +10 -10
  175. package/src/api/classes/dottedPath.ts +181 -181
  176. package/src/api/classes/element.ts +716 -716
  177. package/src/api/classes/event.ts +367 -367
  178. package/src/api/classes/eventBroadcaster.ts +52 -52
  179. package/src/api/classes/parameter.ts +494 -494
  180. package/src/api/classes/parameterObservable.ts +100 -100
  181. package/src/api/classes/parameterizable.ts +87 -87
  182. package/src/api/classes/placementAnimation.ts +161 -160
  183. package/src/api/classes/variant.ts +904 -905
  184. package/src/api/classes/variantInstance.ts +97 -97
  185. package/src/api/classes/variantParameterizable.ts +85 -85
  186. package/src/api/classes/viewer.ts +669 -668
  187. package/src/api/classes/viewerLight.ts +334 -334
  188. package/src/api/internal/debugViewer.ts +90 -90
  189. package/src/api/internal/lensRendering.ts +9 -10
  190. package/src/api/internal/sceneSetup.ts +204 -204
  191. package/src/api/manager/animationManager.ts +143 -142
  192. package/src/api/manager/gltfExportManager.ts +191 -191
  193. package/src/api/manager/sceneManager.ts +127 -127
  194. package/src/api/manager/variantInstanceManager.ts +265 -265
  195. package/src/api/store/specStorage.ts +51 -51
  196. package/src/api/util/babylonHelper.ts +663 -663
  197. package/src/api/util/globalTypes.ts +413 -413
  198. package/src/api/util/resourceHelper.ts +189 -189
  199. package/src/api/util/sceneLoaderHelper.ts +148 -147
  200. package/src/api/util/stringHelper.ts +23 -23
  201. package/src/api/util/structureHelper.ts +49 -49
  202. package/src/buildinfo.json +3 -3
  203. package/src/dev.ts +61 -64
  204. package/src/index.ts +96 -94
  205. package/src/types.d.ts +28 -28
  206. package/dist/lib-cjs/api/classes/elementParameterizable.d.ts +0 -14
  207. package/dist/lib-cjs/api/classes/elementParameterizable.js +0 -135
  208. package/dist/lib-cjs/api/classes/elementParameterizable.js.map +0 -1
  209. package/dist/lib-cjs/api/internal/debugViewer.d.ts +0 -13
  210. package/dist/lib-cjs/api/internal/debugViewer.js +0 -87
  211. package/dist/lib-cjs/api/internal/debugViewer.js.map +0 -1
  212. package/dist/lib-es6/api/internal/debugViewer.d.ts +0 -13
  213. package/dist/lib-es6/api/internal/debugViewer.js +0 -84
  214. package/dist/lib-es6/api/internal/debugViewer.js.map +0 -1
  215. package/dist/webpack-stats.json +0 -0
  216. package/src/commonjs.tsconfig.json +0 -10
  217. package/src/declaration.tsconfig.json +0 -8
  218. package/src/es6.tsconfig.json +0 -10
  219. package/src/pagesconfig.json +0 -81
  220. package/src/tsconfig.json +0 -33
  221. package/src/tsconfig.types.json +0 -9
@@ -1,185 +1,163 @@
1
- var DottedPath = /** @class */ (function () {
2
- /**
3
- * Constructor
4
- */
5
- function DottedPath() {
6
- this.parts = [];
7
- }
8
- /**
9
- * Magic factory function that creates a DottedPath based on the argument type.
10
- */
11
- DottedPath.create = function (dottedPath) {
12
- if ((dottedPath === null || dottedPath === void 0 ? void 0 : dottedPath.constructor) === DottedPath) {
13
- return dottedPath.clone();
14
- }
15
- if ((dottedPath === null || dottedPath === void 0 ? void 0 : dottedPath.constructor) === String) {
16
- return DottedPath.createFromPath(dottedPath);
17
- }
18
- if ((dottedPath === null || dottedPath === void 0 ? void 0 : dottedPath.constructor) === Array) {
19
- return DottedPath.createFromParts(dottedPath);
20
- }
21
- return DottedPath.createEmpty();
22
- };
23
- /**
24
- * Creates a DottedPath from a string.
25
- * Allows patterns with unsafe characters wrapped in apostrophes or quotes.
26
- * E.g. "part1.part2.'part.3'.part_4"
27
- */
28
- DottedPath.createFromPath = function (path) {
29
- if (path.length === 0) {
30
- return this.createEmpty();
31
- }
32
- if (path.indexOf("'") > -1 || path.indexOf('"') > -1) {
33
- var bd = '[\'|"]';
34
- var search = new RegExp(bd + "(.*)" + bd, 'g');
35
- var matches = search.exec(path);
36
- while (matches !== null) {
37
- var _search = new RegExp("" + bd + matches[1] + bd, 'g');
38
- path = path.replace(_search, this.sanitizePart(matches[1]));
39
- matches = search.exec(path);
40
- }
41
- }
42
- return this.createFromParts(path.split(DottedPath.DELIMITER));
43
- };
44
- /**
45
- * Creates a DottedPath from a string list.
46
- */
47
- DottedPath.createFromParts = function (parts) {
48
- var dottedPath = new DottedPath();
49
- parts.forEach(function (part) { return dottedPath.addPart(part); });
50
- return dottedPath;
51
- };
52
- /**
53
- * Creates an empty DottedPath.
54
- */
55
- DottedPath.createEmpty = function () {
56
- return new DottedPath();
57
- };
58
- /**
59
- * Sanitizes given part: replaces all characters like {@link DottedPath.DELIMITER}
60
- * with a "safe" character like {@link DottedPath.SAFE_CHAR}.
61
- * (i) Does not trim whitespace.
62
- */
63
- DottedPath.sanitizePart = function (part) {
64
- return part.split(DottedPath.DELIMITER).join(DottedPath.SAFE_CHAR);
65
- };
66
- Object.defineProperty(DottedPath.prototype, "path", {
67
- /**
68
- * The path.
69
- * (i) Does not return an empty dot for no path.
70
- */
71
- get: function () {
72
- return this.parts.length > 0 ? this.parts.join(DottedPath.DELIMITER) : '';
73
- },
74
- enumerable: false,
75
- configurable: true
76
- });
77
- Object.defineProperty(DottedPath.prototype, "firstPart", {
78
- /**
79
- * The first part.
80
- */
81
- get: function () {
82
- if (this.parts.length > 0) {
83
- return this.parts[0];
84
- }
85
- return null;
86
- },
87
- enumerable: false,
88
- configurable: true
89
- });
90
- Object.defineProperty(DottedPath.prototype, "lastPart", {
91
- /**
92
- * The last part.
93
- */
94
- get: function () {
95
- if (this.parts.length > 0) {
96
- return this.parts[this.parts.length - 1];
97
- }
98
- return null;
99
- },
100
- enumerable: false,
101
- configurable: true
102
- });
103
- Object.defineProperty(DottedPath.prototype, "leafTokens", {
104
- /**
105
- * Gets the tokens to each leaf of the DottedPath tree.
106
- * E.g. "part1.part2.part_3" will return an array like
107
- * ["part1", "part1.part2", "part1.part2.part_3"]
108
- */
109
- get: function () {
110
- var parents = [];
111
- return this.parts.map(function (part) {
112
- parents.push(part);
113
- return DottedPath.create(parents).path;
114
- });
115
- },
116
- enumerable: false,
117
- configurable: true
118
- });
119
- /**
120
- * Removes the first part and returns it.
121
- */
122
- DottedPath.prototype.shiftPart = function () {
123
- return this.parts.shift();
124
- };
125
- /**
126
- * Adds part to the beginning of parts list.
127
- */
128
- DottedPath.prototype.unshiftPart = function (part, duplicateCheck) {
129
- if (duplicateCheck === void 0) { duplicateCheck = false; }
130
- part = DottedPath.sanitizePart(part);
131
- if (duplicateCheck && this.firstPart === part) {
132
- return this;
133
- }
134
- this.parts.unshift(part);
135
- return this;
136
- };
137
- /**
138
- * Adds part to the end of parts list.
139
- * (i) Does not add a part if the last char already is the delimiter or if an empty string was passed.
140
- */
141
- DottedPath.prototype.addPart = function (part, duplicateCheck) {
142
- if (duplicateCheck === void 0) { duplicateCheck = false; }
143
- if (part.length < 1 || this.lastPart === DottedPath.DELIMITER) {
144
- return this;
145
- }
146
- part = DottedPath.sanitizePart(part);
147
- if (duplicateCheck && this.lastPart === part) {
148
- return this;
149
- }
150
- this.parts.push(part);
151
- return this;
152
- };
153
- /**
154
- * Adds multiple parts to the end of parts list.
155
- */
156
- DottedPath.prototype.addParts = function (parts, duplicateCheck) {
157
- var _this = this;
158
- if (duplicateCheck === void 0) { duplicateCheck = false; }
159
- parts.forEach(function (part) { return _this.addPart(part, duplicateCheck); });
160
- return this;
161
- };
162
- /**
163
- * Removes the last part and returns it.
164
- */
165
- DottedPath.prototype.popPart = function () {
166
- return this.parts.pop();
167
- };
168
- DottedPath.prototype.toString = function () {
169
- return this.path;
170
- };
171
- DottedPath.prototype.valueOf = function () {
172
- return this.path;
173
- };
174
- /**
175
- * Clones the DottedPath.
176
- */
177
- DottedPath.prototype.clone = function () {
178
- return DottedPath.createFromParts(this.parts);
179
- };
180
- DottedPath.DELIMITER = '.';
181
- DottedPath.SAFE_CHAR = '·';
182
- return DottedPath;
183
- }());
184
- export { DottedPath };
1
+ export class DottedPath {
2
+ /**
3
+ * Constructor
4
+ */
5
+ constructor() {
6
+ this.parts = [];
7
+ }
8
+ /**
9
+ * Magic factory function that creates a DottedPath based on the argument type.
10
+ */
11
+ static create(dottedPath) {
12
+ if ((dottedPath === null || dottedPath === void 0 ? void 0 : dottedPath.constructor) === DottedPath) {
13
+ return dottedPath.clone();
14
+ }
15
+ if ((dottedPath === null || dottedPath === void 0 ? void 0 : dottedPath.constructor) === String) {
16
+ return DottedPath.createFromPath(dottedPath);
17
+ }
18
+ if ((dottedPath === null || dottedPath === void 0 ? void 0 : dottedPath.constructor) === Array) {
19
+ return DottedPath.createFromParts(dottedPath);
20
+ }
21
+ return DottedPath.createEmpty();
22
+ }
23
+ /**
24
+ * Creates a DottedPath from a string.
25
+ * Allows patterns with unsafe characters wrapped in apostrophes or quotes.
26
+ * E.g. "part1.part2.'part.3'.part_4"
27
+ */
28
+ static createFromPath(path) {
29
+ if (path.length === 0) {
30
+ return this.createEmpty();
31
+ }
32
+ if (path.indexOf("'") > -1 || path.indexOf('"') > -1) {
33
+ const bd = '[\'|"]';
34
+ const search = new RegExp(`${bd}(.*)${bd}`, 'g');
35
+ let matches = search.exec(path);
36
+ while (matches !== null) {
37
+ const _search = new RegExp(`${bd}${matches[1]}${bd}`, 'g');
38
+ path = path.replace(_search, this.sanitizePart(matches[1]));
39
+ matches = search.exec(path);
40
+ }
41
+ }
42
+ return this.createFromParts(path.split(DottedPath.DELIMITER));
43
+ }
44
+ /**
45
+ * Creates a DottedPath from a string list.
46
+ */
47
+ static createFromParts(parts) {
48
+ const dottedPath = new DottedPath();
49
+ parts.forEach(part => dottedPath.addPart(part));
50
+ return dottedPath;
51
+ }
52
+ /**
53
+ * Creates an empty DottedPath.
54
+ */
55
+ static createEmpty() {
56
+ return new DottedPath();
57
+ }
58
+ /**
59
+ * Sanitizes given part: replaces all characters like {@link DottedPath.DELIMITER}
60
+ * with a "safe" character like {@link DottedPath.SAFE_CHAR}.
61
+ * (i) Does not trim whitespace.
62
+ */
63
+ static sanitizePart(part) {
64
+ return part.split(DottedPath.DELIMITER).join(DottedPath.SAFE_CHAR);
65
+ }
66
+ /**
67
+ * The path.
68
+ * (i) Does not return an empty dot for no path.
69
+ */
70
+ get path() {
71
+ return this.parts.length > 0 ? this.parts.join(DottedPath.DELIMITER) : '';
72
+ }
73
+ /**
74
+ * The first part.
75
+ */
76
+ get firstPart() {
77
+ if (this.parts.length > 0) {
78
+ return this.parts[0];
79
+ }
80
+ return null;
81
+ }
82
+ /**
83
+ * The last part.
84
+ */
85
+ get lastPart() {
86
+ if (this.parts.length > 0) {
87
+ return this.parts[this.parts.length - 1];
88
+ }
89
+ return null;
90
+ }
91
+ /**
92
+ * Gets the tokens to each leaf of the DottedPath tree.
93
+ * E.g. "part1.part2.part_3" will return an array like
94
+ * ["part1", "part1.part2", "part1.part2.part_3"]
95
+ */
96
+ get leafTokens() {
97
+ let parents = [];
98
+ return this.parts.map(part => {
99
+ parents.push(part);
100
+ return DottedPath.create(parents).path;
101
+ });
102
+ }
103
+ /**
104
+ * Removes the first part and returns it.
105
+ */
106
+ shiftPart() {
107
+ return this.parts.shift();
108
+ }
109
+ /**
110
+ * Adds part to the beginning of parts list.
111
+ */
112
+ unshiftPart(part, duplicateCheck = false) {
113
+ part = DottedPath.sanitizePart(part);
114
+ if (duplicateCheck && this.firstPart === part) {
115
+ return this;
116
+ }
117
+ this.parts.unshift(part);
118
+ return this;
119
+ }
120
+ /**
121
+ * Adds part to the end of parts list.
122
+ * (i) Does not add a part if the last char already is the delimiter or if an empty string was passed.
123
+ */
124
+ addPart(part, duplicateCheck = false) {
125
+ if (part.length < 1 || this.lastPart === DottedPath.DELIMITER) {
126
+ return this;
127
+ }
128
+ part = DottedPath.sanitizePart(part);
129
+ if (duplicateCheck && this.lastPart === part) {
130
+ return this;
131
+ }
132
+ this.parts.push(part);
133
+ return this;
134
+ }
135
+ /**
136
+ * Adds multiple parts to the end of parts list.
137
+ */
138
+ addParts(parts, duplicateCheck = false) {
139
+ parts.forEach(part => this.addPart(part, duplicateCheck));
140
+ return this;
141
+ }
142
+ /**
143
+ * Removes the last part and returns it.
144
+ */
145
+ popPart() {
146
+ return this.parts.pop();
147
+ }
148
+ toString() {
149
+ return this.path;
150
+ }
151
+ valueOf() {
152
+ return this.path;
153
+ }
154
+ /**
155
+ * Clones the DottedPath.
156
+ */
157
+ clone() {
158
+ return DottedPath.createFromParts(this.parts);
159
+ }
160
+ }
161
+ DottedPath.DELIMITER = '.';
162
+ DottedPath.SAFE_CHAR = '·';
185
163
  //# sourceMappingURL=dottedPath.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dottedPath.js","sourceRoot":"","sources":["../../../../src/api/classes/dottedPath.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dottedPath.js","sourceRoot":"","sources":["../../../../src/api/classes/dottedPath.ts"],"names":[],"mappings":"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"}