hadron-document 7.11.0 → 8.0.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.
- package/dist/document.d.ts +9 -13
- package/dist/document.d.ts.map +1 -1
- package/dist/document.js +11 -84
- package/dist/document.js.map +1 -1
- package/dist/element.d.ts +24 -37
- package/dist/element.d.ts.map +1 -1
- package/dist/element.js +124 -260
- package/dist/element.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/object-generator.d.ts +14 -0
- package/dist/object-generator.d.ts.map +1 -1
- package/dist/object-generator.js +170 -0
- package/dist/object-generator.js.map +1 -1
- package/dist/utils.js +4 -1
- package/dist/utils.js.map +1 -1
- package/package.json +11 -15
package/dist/document.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Element } from './element';
|
|
2
|
-
import {
|
|
2
|
+
import { ElementList } from './element';
|
|
3
3
|
import EventEmitter from 'eventemitter3';
|
|
4
|
-
import type { ObjectGeneratorOptions } from './object-generator';
|
|
5
|
-
import type { BSONObject, BSONValue } from './utils';
|
|
4
|
+
import type { KeyInclusionOptions, ObjectGeneratorOptions } from './object-generator';
|
|
5
|
+
import type { BSONArray, BSONObject, BSONValue } from './utils';
|
|
6
6
|
import type { HadronEJSONOptions } from './utils';
|
|
7
7
|
export declare const Events: {
|
|
8
8
|
Cancel: string;
|
|
@@ -12,7 +12,7 @@ export declare class Document extends EventEmitter {
|
|
|
12
12
|
doc: BSONObject;
|
|
13
13
|
cloned: boolean;
|
|
14
14
|
isUpdatable: boolean;
|
|
15
|
-
elements:
|
|
15
|
+
elements: ElementList;
|
|
16
16
|
type: 'Document';
|
|
17
17
|
currentType: 'Document';
|
|
18
18
|
cancel(): void;
|
|
@@ -20,31 +20,27 @@ export declare class Document extends EventEmitter {
|
|
|
20
20
|
apply(doc: BSONObject | Document): void;
|
|
21
21
|
generateObject(options?: ObjectGeneratorOptions): BSONObject;
|
|
22
22
|
generateOriginalObject(options?: ObjectGeneratorOptions): BSONObject;
|
|
23
|
-
generateUpdateUnlessChangedInBackgroundQuery(
|
|
23
|
+
generateUpdateUnlessChangedInBackgroundQuery(opts?: Readonly<KeyInclusionOptions>): {
|
|
24
24
|
query: BSONObject;
|
|
25
25
|
updateDoc: {
|
|
26
26
|
$set?: BSONObject;
|
|
27
27
|
$unset?: BSONObject;
|
|
28
|
-
};
|
|
28
|
+
} | BSONArray;
|
|
29
29
|
};
|
|
30
30
|
get(key: string): Element | undefined;
|
|
31
31
|
getChild(path: (string | number)[]): Element | undefined;
|
|
32
32
|
getId(): BSONValue;
|
|
33
|
-
|
|
34
|
-
getOriginalKeysAndValuesForSpecifiedKeys(keys: BSONObject): BSONObject;
|
|
35
|
-
getSetUpdateForDocumentChanges(): BSONObject;
|
|
33
|
+
getQueryForOriginalKeysAndValuesForSpecifiedKeys(opts?: Readonly<KeyInclusionOptions>): BSONObject;
|
|
36
34
|
getStringId(): null | string;
|
|
37
|
-
getUnsetUpdateForDocumentChanges(): BSONObject;
|
|
38
35
|
insertPlaceholder(): Element;
|
|
39
36
|
insertBeginning(key: string | number, value: BSONValue): Element;
|
|
40
37
|
insertEnd(key: string | number, value: BSONValue): Element;
|
|
41
|
-
insertAfter(element: Element, key: string | number, value: BSONValue): Element;
|
|
38
|
+
insertAfter(element: Element, key: string | number, value: BSONValue): Element | undefined;
|
|
42
39
|
isAdded(): boolean;
|
|
43
40
|
isModified(): boolean;
|
|
44
41
|
isRemoved(): boolean;
|
|
45
42
|
isRoot(): this is Document;
|
|
46
|
-
|
|
47
|
-
_generateElements(): LinkedList;
|
|
43
|
+
_generateElements(): ElementList;
|
|
48
44
|
static get Events(): typeof Events;
|
|
49
45
|
static FromEJSON(input: string): Document;
|
|
50
46
|
static FromEJSONArray(input: string): Document[];
|
package/dist/document.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,WAAW,EAA2B,MAAM,WAAW,CAAC;AACjE,OAAO,YAAY,MAAM,eAAe,CAAC;AAEzC,OAAO,KAAK,EACV,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEhE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAKlD,eAAO,MAAM,MAAM;;CAElB,CAAC;AAUF,qBAAa,QAAS,SAAQ,YAAY;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,WAAW,CAAC;IACtB,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,UAAU,CAAC;IAKxB,MAAM,IAAI,IAAI;gBAeF,GAAG,EAAE,UAAU,EAAE,MAAM,UAAQ;IAW3C,KAAK,CAAC,GAAG,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI;IA6BvC,cAAc,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,UAAU;IAS5D,sBAAsB,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,UAAU;IAoBpE,4CAA4C,CAC1C,IAAI,GAAE,QAAQ,CAAC,mBAAmB,CAAM,GACvC;QACD,KAAK,EAAE,UAAU,CAAC;QAClB,SAAS,EAAE;YAAE,IAAI,CAAC,EAAE,UAAU,CAAC;YAAC,MAAM,CAAC,EAAE,UAAU,CAAA;SAAE,GAAG,SAAS,CAAC;KACnE;IA+BD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAWrC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,OAAO,GAAG,SAAS;IAwBxD,KAAK,IAAI,SAAS;IAgBlB,gDAAgD,CAC9C,IAAI,GAAE,QAAQ,CAAC,mBAAmB,CAAM,GACvC,UAAU;IAab,WAAW,IAAI,IAAI,GAAG,MAAM;IAkB5B,iBAAiB,IAAI,OAAO;IAY5B,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO;IAchE,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO;IAe1D,WAAW,CACT,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,GAAG,MAAM,EACpB,KAAK,EAAE,SAAS,GACf,OAAO,GAAG,SAAS;IAWtB,OAAO,IAAI,OAAO;IASlB,UAAU,IAAI,OAAO;IAcrB,SAAS,IAAI,OAAO;IASpB,MAAM,IAAI,IAAI,IAAI,QAAQ;IAS1B,iBAAiB,IAAI,WAAW;IAOhC,MAAM,KAAK,MAAM,IAAI,OAAO,MAAM,CAEjC;IAKD,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ;IAWzC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE;IAUhD,OAAO,CACL,MAAM,GAAE,UAAU,GAAG,SAAqB,EAC1C,OAAO,GAAE,kBAAuB,GAC/B,MAAM;CAOV;AAED,eAAe,QAAQ,CAAC"}
|
package/dist/document.js
CHANGED
|
@@ -20,9 +20,9 @@ class Document extends eventemitter3_1.default {
|
|
|
20
20
|
this.doc = doc;
|
|
21
21
|
this.cloned = cloned || false;
|
|
22
22
|
this.isUpdatable = true;
|
|
23
|
-
this.elements = this._generateElements();
|
|
24
23
|
this.type = 'Document';
|
|
25
24
|
this.currentType = 'Document';
|
|
25
|
+
this.elements = this._generateElements();
|
|
26
26
|
}
|
|
27
27
|
cancel() {
|
|
28
28
|
for (const element of Array.from(this.elements)) {
|
|
@@ -61,21 +61,13 @@ class Document extends eventemitter3_1.default {
|
|
|
61
61
|
generateOriginalObject(options) {
|
|
62
62
|
return object_generator_1.default.generateOriginal(this.elements, options);
|
|
63
63
|
}
|
|
64
|
-
generateUpdateUnlessChangedInBackgroundQuery(
|
|
65
|
-
const originalFieldsThatWillBeUpdated =
|
|
64
|
+
generateUpdateUnlessChangedInBackgroundQuery(opts = {}) {
|
|
65
|
+
const originalFieldsThatWillBeUpdated = object_generator_1.default.getQueryForOriginalKeysAndValuesForSpecifiedFields(this, opts, true);
|
|
66
66
|
const query = {
|
|
67
67
|
_id: this.getId(),
|
|
68
68
|
...originalFieldsThatWillBeUpdated,
|
|
69
69
|
};
|
|
70
|
-
const
|
|
71
|
-
const unsetUpdateObject = this.getUnsetUpdateForDocumentChanges();
|
|
72
|
-
const updateDoc = {};
|
|
73
|
-
if (setUpdateObject && Object.keys(setUpdateObject).length > 0) {
|
|
74
|
-
updateDoc.$set = setUpdateObject;
|
|
75
|
-
}
|
|
76
|
-
if (unsetUpdateObject && Object.keys(unsetUpdateObject).length > 0) {
|
|
77
|
-
updateDoc.$unset = unsetUpdateObject;
|
|
78
|
-
}
|
|
70
|
+
const updateDoc = object_generator_1.default.generateUpdateDoc(this);
|
|
79
71
|
return {
|
|
80
72
|
query,
|
|
81
73
|
updateDoc,
|
|
@@ -106,44 +98,8 @@ class Document extends eventemitter3_1.default {
|
|
|
106
98
|
const element = this.get(ID);
|
|
107
99
|
return element ? element.generateObject() : null;
|
|
108
100
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
if (this.elements) {
|
|
112
|
-
for (const element of this.elements) {
|
|
113
|
-
if ((element.isModified() && !element.isAdded()) ||
|
|
114
|
-
(alwaysIncludeKeys && element.key in alwaysIncludeKeys)) {
|
|
115
|
-
object[element.key] = element.generateOriginalObject();
|
|
116
|
-
}
|
|
117
|
-
if (element.isAdded() && element.currentKey !== '') {
|
|
118
|
-
object[element.currentKey] = { $exists: false };
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
return object;
|
|
123
|
-
}
|
|
124
|
-
getOriginalKeysAndValuesForSpecifiedKeys(keys) {
|
|
125
|
-
const object = {};
|
|
126
|
-
if (this.elements) {
|
|
127
|
-
for (const element of this.elements) {
|
|
128
|
-
if (element.key in keys) {
|
|
129
|
-
object[element.key] = element.generateOriginalObject();
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
return object;
|
|
134
|
-
}
|
|
135
|
-
getSetUpdateForDocumentChanges() {
|
|
136
|
-
const object = {};
|
|
137
|
-
if (this.elements) {
|
|
138
|
-
for (const element of this.elements) {
|
|
139
|
-
if (!element.isRemoved() &&
|
|
140
|
-
element.currentKey !== '' &&
|
|
141
|
-
element.isModified()) {
|
|
142
|
-
object[element.currentKey] = element.generateObject();
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
return object;
|
|
101
|
+
getQueryForOriginalKeysAndValuesForSpecifiedKeys(opts = {}) {
|
|
102
|
+
return object_generator_1.default.getQueryForOriginalKeysAndValuesForSpecifiedFields(this, opts, false);
|
|
147
103
|
}
|
|
148
104
|
getStringId() {
|
|
149
105
|
const element = this.get(ID);
|
|
@@ -156,36 +112,22 @@ class Document extends eventemitter3_1.default {
|
|
|
156
112
|
}
|
|
157
113
|
return String(element.value);
|
|
158
114
|
}
|
|
159
|
-
getUnsetUpdateForDocumentChanges() {
|
|
160
|
-
const object = {};
|
|
161
|
-
if (this.elements) {
|
|
162
|
-
for (const element of this.elements) {
|
|
163
|
-
if (!element.isAdded() && element.isRemoved() && element.key !== '') {
|
|
164
|
-
object[element.key] = true;
|
|
165
|
-
}
|
|
166
|
-
if (!element.isAdded() && element.isRenamed() && element.key !== '') {
|
|
167
|
-
object[element.key] = true;
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
return object;
|
|
172
|
-
}
|
|
173
115
|
insertPlaceholder() {
|
|
174
116
|
return this.insertEnd('', '');
|
|
175
117
|
}
|
|
176
118
|
insertBeginning(key, value) {
|
|
177
|
-
const newElement = this.elements.insertBeginning(key, value
|
|
119
|
+
const newElement = this.elements.insertBeginning(key, value);
|
|
178
120
|
newElement._bubbleUp(element_1.Events.Added, newElement, this);
|
|
179
121
|
return newElement;
|
|
180
122
|
}
|
|
181
123
|
insertEnd(key, value) {
|
|
182
|
-
const newElement = this.elements.insertEnd(key, value
|
|
124
|
+
const newElement = this.elements.insertEnd(key, value);
|
|
183
125
|
newElement._bubbleUp(element_1.Events.Added, newElement, this);
|
|
184
126
|
return newElement;
|
|
185
127
|
}
|
|
186
128
|
insertAfter(element, key, value) {
|
|
187
|
-
const newElement = this.elements.insertAfter(element, key, value
|
|
188
|
-
newElement._bubbleUp(element_1.Events.Added, newElement, this);
|
|
129
|
+
const newElement = this.elements.insertAfter(element, key, value);
|
|
130
|
+
newElement === null || newElement === void 0 ? void 0 : newElement._bubbleUp(element_1.Events.Added, newElement, this);
|
|
189
131
|
return newElement;
|
|
190
132
|
}
|
|
191
133
|
isAdded() {
|
|
@@ -205,23 +147,8 @@ class Document extends eventemitter3_1.default {
|
|
|
205
147
|
isRoot() {
|
|
206
148
|
return true;
|
|
207
149
|
}
|
|
208
|
-
next() {
|
|
209
|
-
this.elements.flush();
|
|
210
|
-
const lastElement = this.elements.lastElement;
|
|
211
|
-
if (lastElement && lastElement.isAdded()) {
|
|
212
|
-
if (lastElement.isBlank()) {
|
|
213
|
-
lastElement.remove();
|
|
214
|
-
}
|
|
215
|
-
else {
|
|
216
|
-
this.insertPlaceholder();
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
else {
|
|
220
|
-
this.insertPlaceholder();
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
150
|
_generateElements() {
|
|
224
|
-
return new element_1.
|
|
151
|
+
return new element_1.ElementList(this, this.doc);
|
|
225
152
|
}
|
|
226
153
|
static get Events() {
|
|
227
154
|
return exports.Events;
|
package/dist/document.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.js","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;AAEb,
|
|
1
|
+
{"version":3,"file":"document.js","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"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"}
|
package/dist/element.d.ts
CHANGED
|
@@ -16,27 +16,25 @@ export declare class Element extends EventEmitter {
|
|
|
16
16
|
currentValue: BSONValue;
|
|
17
17
|
added: boolean;
|
|
18
18
|
removed: boolean;
|
|
19
|
-
elements?:
|
|
19
|
+
elements?: ElementList;
|
|
20
20
|
originalExpandableValue?: BSONObject | BSONArray;
|
|
21
21
|
parent: Element | Document | null;
|
|
22
|
-
previousElement: Element | null;
|
|
23
|
-
nextElement: Element | null;
|
|
24
22
|
type: TypeCastTypes;
|
|
25
23
|
currentType: TypeCastTypes;
|
|
26
24
|
level: number;
|
|
27
25
|
currentTypeValid?: boolean;
|
|
28
26
|
invalidTypeMessage?: string;
|
|
29
27
|
decrypted: boolean;
|
|
30
|
-
bulkEdit(value: string): void;
|
|
31
28
|
cancel(): void;
|
|
32
|
-
constructor(key: string | number, value: BSONValue
|
|
29
|
+
constructor(key: string | number, value: BSONValue | number, parent?: Element | Document | null, added?: boolean);
|
|
30
|
+
get nextElement(): Element | undefined;
|
|
31
|
+
get previousElement(): Element | undefined;
|
|
33
32
|
_getLevel(): number;
|
|
34
33
|
edit(value: BSONValue): void;
|
|
35
34
|
changeType(newType: TypeCastTypes): void;
|
|
36
35
|
getRoot(): Document;
|
|
37
36
|
get(key: string | number): Element | undefined;
|
|
38
37
|
at(i: number): Element | undefined;
|
|
39
|
-
next(): void;
|
|
40
38
|
rename(key: string | number): void;
|
|
41
39
|
generateObject(options?: ObjectGeneratorOptions): BSONValue;
|
|
42
40
|
generateOriginalObject(options?: ObjectGeneratorOptions): BSONValue;
|
|
@@ -55,6 +53,7 @@ export declare class Element extends EventEmitter {
|
|
|
55
53
|
_isObjectIdEqual(): boolean;
|
|
56
54
|
isLast(): boolean;
|
|
57
55
|
isRenamed(): boolean;
|
|
56
|
+
hasChangedKey(): boolean;
|
|
58
57
|
isRevertable(): boolean;
|
|
59
58
|
isRemovable(): boolean;
|
|
60
59
|
isNotActionable(): boolean;
|
|
@@ -67,49 +66,37 @@ export declare class Element extends EventEmitter {
|
|
|
67
66
|
isInternalField(): boolean;
|
|
68
67
|
isModified(): boolean;
|
|
69
68
|
isRemoved(): boolean;
|
|
69
|
+
hasAnyRemovedChild(): boolean;
|
|
70
70
|
isRoot(): false;
|
|
71
71
|
remove(): void;
|
|
72
72
|
revert(): void;
|
|
73
73
|
_bubbleUp(evt: typeof Events[keyof typeof Events], ...data: BSONArray): void;
|
|
74
74
|
_convertToEmptyObject(): void;
|
|
75
75
|
_convertToEmptyArray(): void;
|
|
76
|
-
_isElementEmpty(
|
|
77
|
-
_isExpandable(
|
|
78
|
-
_generateElements(object: BSONObject | BSONArray):
|
|
79
|
-
_key(key: string, index: number): string | number;
|
|
80
|
-
_next(): void;
|
|
76
|
+
_isElementEmpty(element: Element | undefined | null): boolean;
|
|
77
|
+
_isExpandable(value: BSONValue): value is BSONObject | BSONArray;
|
|
78
|
+
_generateElements(object: BSONObject | BSONArray): ElementList;
|
|
81
79
|
_removeAddedElements(): void;
|
|
82
80
|
static get Events(): typeof ElementEvents;
|
|
83
81
|
}
|
|
84
|
-
export declare class
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
size: number;
|
|
91
|
-
loaded: number;
|
|
92
|
-
_map: Record<string, Element>;
|
|
82
|
+
export declare class ElementList implements Iterable<Element> {
|
|
83
|
+
private parent;
|
|
84
|
+
private elements;
|
|
85
|
+
constructor(parent: Document | Element, originalDoc: BSONObject | BSONArray | null | undefined);
|
|
86
|
+
private isArray;
|
|
87
|
+
get size(): number;
|
|
93
88
|
at(index: number): Element | undefined;
|
|
94
89
|
get(key: string | number): Element | undefined;
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
90
|
+
get firstElement(): Element | undefined;
|
|
91
|
+
get lastElement(): Element | undefined;
|
|
92
|
+
insertAfter(afterElement: Element, key: string | number, value: BSONValue, added?: boolean): Element | undefined;
|
|
93
|
+
insertBefore(beforeElement: Element, key: string | number, value: BSONValue, added?: boolean): Element | undefined;
|
|
94
|
+
insertBeginning(key: string | number, value: BSONValue, added?: boolean): Element;
|
|
95
|
+
insertEnd(key: string | number, value: BSONValue, added?: boolean): Element;
|
|
96
|
+
remove(removeElement: Element): this;
|
|
97
|
+
findNext(el: Element): Element | undefined;
|
|
98
|
+
findPrevious(el: Element): Element | undefined;
|
|
103
99
|
[Symbol.iterator](): Iterator<Element>;
|
|
104
|
-
_needsLazyLoad(index: number): boolean;
|
|
105
|
-
_needsStandardIteration(index: number): boolean;
|
|
106
|
-
_lazyInsertEnd(key: string | number): Element;
|
|
107
|
-
_insertEnd(key: string | number, value: BSONValue, added: boolean, parent: Document | Element): Element;
|
|
108
|
-
_insertBefore(element: Element, key: string | number, value: BSONValue, added: boolean, parent: Document | Element): Element;
|
|
109
|
-
_insertBeginning(key: string | number, value: BSONValue, added: boolean, parent: Document | Element): Element;
|
|
110
|
-
_insertAfter(element: Element, key: string | number, value: BSONValue, added: boolean, parent: Document | Element): Element;
|
|
111
|
-
remove(element: Element): this;
|
|
112
|
-
findIndex(el: Element): number;
|
|
113
100
|
}
|
|
114
101
|
export default Element;
|
|
115
102
|
//# sourceMappingURL=element.d.ts.map
|
package/dist/element.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"AAEA,OAAO,YAAY,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"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"}
|