taggedjs 2.4.10 → 2.4.14
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/bundle.js +918 -543
- package/bundle.js.map +1 -1
- package/js/Clones.type.d.ts +4 -1
- package/js/Clones.type.js +1 -1
- package/js/Clones.type.js.map +1 -1
- package/js/Tag.class.d.ts +8 -10
- package/js/Tag.class.js +131 -71
- package/js/Tag.class.js.map +1 -1
- package/js/Tag.utils.d.ts +5 -5
- package/js/Tag.utils.js +1 -1
- package/js/Tag.utils.js.map +1 -1
- package/js/TemplaterResult.class.d.ts +9 -3
- package/js/TemplaterResult.class.js +19 -18
- package/js/TemplaterResult.class.js.map +1 -1
- package/js/alterProps.function.d.ts +2 -0
- package/js/alterProps.function.js +18 -13
- package/js/alterProps.function.js.map +1 -1
- package/js/checkDestroyPrevious.function.d.ts +3 -1
- package/js/checkDestroyPrevious.function.js +33 -11
- package/js/checkDestroyPrevious.function.js.map +1 -1
- package/js/destroyTag.function.js +4 -5
- package/js/destroyTag.function.js.map +1 -1
- package/js/getCallback.js +1 -2
- package/js/getCallback.js.map +1 -1
- package/js/hasTagSupportChanged.function.js +0 -4
- package/js/hasTagSupportChanged.function.js.map +1 -1
- package/js/index.d.ts +1 -2
- package/js/index.js +1 -2
- package/js/index.js.map +1 -1
- package/js/insertAfter.function.d.ts +2 -0
- package/js/insertAfter.function.js +6 -0
- package/js/insertAfter.function.js.map +1 -0
- package/js/interpolateElement.d.ts +3 -2
- package/js/interpolateElement.js +3 -2
- package/js/interpolateElement.js.map +1 -1
- package/js/interpolateTemplate.d.ts +2 -3
- package/js/interpolateTemplate.js +6 -24
- package/js/interpolateTemplate.js.map +1 -1
- package/js/interpolations.js +2 -1
- package/js/interpolations.js.map +1 -1
- package/js/isInstance.d.ts +2 -2
- package/js/isInstance.js.map +1 -1
- package/js/onInit.js +5 -3
- package/js/onInit.js.map +1 -1
- package/js/processAttribute.function.d.ts +1 -0
- package/js/processAttribute.function.js +3 -3
- package/js/processAttribute.function.js.map +1 -1
- package/js/processNewValue.function.js +1 -1
- package/js/processNewValue.function.js.map +1 -1
- package/js/processRegularValue.function.d.ts +2 -2
- package/js/processRegularValue.function.js +7 -6
- package/js/processRegularValue.function.js.map +1 -1
- package/js/processSubjectComponent.function.d.ts +4 -3
- package/js/processSubjectComponent.function.js +30 -22
- package/js/processSubjectComponent.function.js.map +1 -1
- package/js/processSubjectValue.function.d.ts +6 -10
- package/js/processSubjectValue.function.js +6 -54
- package/js/processSubjectValue.function.js.map +1 -1
- package/js/processTag.function.d.ts +7 -0
- package/js/processTag.function.js +59 -0
- package/js/processTag.function.js.map +1 -0
- package/js/processTagArray.d.ts +7 -5
- package/js/processTagArray.js +55 -18
- package/js/processTagArray.js.map +1 -1
- package/js/processTagResult.function.d.ts +1 -1
- package/js/processTagResult.function.js +26 -32
- package/js/processTagResult.function.js.map +1 -1
- package/js/render.d.ts +2 -1
- package/js/render.js.map +1 -1
- package/js/renderExistingTag.function.js +7 -16
- package/js/renderExistingTag.function.js.map +1 -1
- package/js/renderTagSupport.function.js +4 -12
- package/js/renderTagSupport.function.js.map +1 -1
- package/js/subject/Subject.class.d.ts +24 -0
- package/js/subject/Subject.class.js +103 -0
- package/js/subject/Subject.class.js.map +1 -0
- package/js/subject/Subject.utils.d.ts +27 -0
- package/js/subject/Subject.utils.js +4 -0
- package/js/subject/Subject.utils.js.map +1 -0
- package/js/subject/ValueSubject.d.ts +9 -0
- package/js/subject/ValueSubject.js +15 -0
- package/js/subject/ValueSubject.js.map +1 -0
- package/js/subject/combineLatest.function.d.ts +2 -0
- package/js/subject/combineLatest.function.js +24 -0
- package/js/subject/combineLatest.function.js.map +1 -0
- package/js/subject/index.d.ts +4 -0
- package/js/subject/index.js +5 -0
- package/js/subject/index.js.map +1 -0
- package/js/subject/will.functions.d.ts +8 -0
- package/js/subject/will.functions.js +32 -0
- package/js/subject/will.functions.js.map +1 -0
- package/js/tag.d.ts +1 -1
- package/js/tag.js +3 -5
- package/js/tag.js.map +1 -1
- package/js/tagElement.js +1 -1
- package/js/tagElement.js.map +1 -1
- package/js/updateBeforeTemplate.function.d.ts +3 -0
- package/js/updateBeforeTemplate.function.js +16 -0
- package/js/updateBeforeTemplate.function.js.map +1 -0
- package/js/updateExistingTagComponent.function.d.ts +2 -1
- package/js/updateExistingTagComponent.function.js +64 -43
- package/js/updateExistingTagComponent.function.js.map +1 -1
- package/js/updateExistingValue.function.d.ts +3 -2
- package/js/updateExistingValue.function.js +50 -22
- package/js/updateExistingValue.function.js.map +1 -1
- package/package.json +1 -2
- /package/js/{errors.d.ts → Errors.d.ts} +0 -0
- /package/js/{errors.js → Errors.js} +0 -0
- /package/js/{errors.js.map → Errors.js.map} +0 -0
|
@@ -1,21 +1,13 @@
|
|
|
1
1
|
import { hasTagSupportChanged } from './hasTagSupportChanged.function';
|
|
2
|
-
import { TagSupport } from './TagSupport.class';
|
|
3
2
|
import { processSubjectComponent } from './processSubjectComponent.function';
|
|
4
3
|
import { destroyTagMemory } from './destroyTag.function';
|
|
5
4
|
import { renderTagSupport } from './renderTagSupport.function';
|
|
6
|
-
|
|
5
|
+
import { callbackPropOwner } from './alterProps.function';
|
|
6
|
+
export function updateExistingTagComponent(ownerTag, templater, subject, insertBefore) {
|
|
7
7
|
let existingTag = subject.tag;
|
|
8
|
-
/*
|
|
9
|
-
if(existingTag && !existingTag.hasLiveElements) {
|
|
10
|
-
throw new Error('issue already began')
|
|
11
|
-
}
|
|
12
|
-
*/
|
|
13
8
|
const oldWrapper = existingTag.tagSupport.templater.wrapper;
|
|
14
|
-
const newWrapper =
|
|
9
|
+
const newWrapper = templater.wrapper;
|
|
15
10
|
let isSameTag = false;
|
|
16
|
-
if (tempResult.global.oldest && !tempResult.global.oldest.hasLiveElements) {
|
|
17
|
-
throw new Error('88893434');
|
|
18
|
-
}
|
|
19
11
|
if (oldWrapper && newWrapper) {
|
|
20
12
|
const oldFunction = oldWrapper.original;
|
|
21
13
|
const newFunction = newWrapper.original;
|
|
@@ -25,42 +17,58 @@ export function updateExistingTagComponent(ownerTag, tempResult, subject, insert
|
|
|
25
17
|
const oldGlobal = oldTagSupport.templater.global;
|
|
26
18
|
const globalInsert = oldGlobal.insertBefore;
|
|
27
19
|
const oldInsertBefore = globalInsert?.parentNode ? globalInsert : insertBefore;
|
|
28
|
-
|
|
29
|
-
|
|
20
|
+
// const placeholderElm = ownerTag.tagSupport.templater.global.placeholderElm
|
|
21
|
+
const placeholderElm = oldGlobal.placeholderElm;
|
|
22
|
+
if (placeholderElm) {
|
|
23
|
+
if (!placeholderElm.parentNode) {
|
|
24
|
+
throw new Error('stop here no subject parent node update existing tag');
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
else if (!oldInsertBefore.parentNode) {
|
|
28
|
+
//throw new Error('stop here no parent node update existing tag')
|
|
30
29
|
}
|
|
31
30
|
if (!isSameTag) {
|
|
32
31
|
destroyTagMemory(oldTagSupport.templater.global.oldest, subject);
|
|
33
|
-
processSubjectComponent(
|
|
32
|
+
return processSubjectComponent(templater, subject,
|
|
33
|
+
// ??? - newly changed
|
|
34
|
+
insertBefore, // oldInsertBefore,
|
|
35
|
+
ownerTag, {
|
|
34
36
|
forceElement: false,
|
|
35
37
|
counts: { added: 0, removed: 0 },
|
|
36
38
|
});
|
|
37
|
-
return;
|
|
38
39
|
}
|
|
39
40
|
else {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
const newTagSupport = tempResult.tagSupport;
|
|
44
|
-
const hasChanged = hasTagSupportChanged(oldTagSupport, newTagSupport, tempResult);
|
|
41
|
+
const newTagSupport = templater.tagSupport;
|
|
42
|
+
const hasChanged = hasTagSupportChanged(oldTagSupport, newTagSupport, templater);
|
|
45
43
|
if (!hasChanged) {
|
|
46
|
-
|
|
44
|
+
// if the new props are an object then implicitly since no change, the old props are an object
|
|
45
|
+
const newProps = templater.props;
|
|
46
|
+
if (newProps && typeof (newProps) === 'object') {
|
|
47
|
+
// const newestTag = oldTagSupport.templater.global.newest
|
|
48
|
+
// const oldProps = existingTag.tagSupport.propsConfig.latestCloned as Record<string,any> // newestTag.props as Record<string, any>
|
|
49
|
+
syncFunctionProps(templater, existingTag, ownerTag, newProps);
|
|
50
|
+
}
|
|
51
|
+
return existingTag; // its the same tag component
|
|
47
52
|
}
|
|
48
53
|
}
|
|
49
|
-
const oldestTag =
|
|
50
|
-
const previous =
|
|
54
|
+
const oldestTag = templater.global.oldest; // oldTagSupport.oldest as Tag // existingTag
|
|
55
|
+
const previous = templater.global.newest;
|
|
51
56
|
if (!previous || !oldestTag) {
|
|
52
57
|
throw new Error('how no previous or oldest nor newest?');
|
|
53
58
|
}
|
|
54
|
-
const newTag = renderTagSupport(
|
|
59
|
+
const newTag = renderTagSupport(templater.tagSupport, false);
|
|
55
60
|
existingTag = subject.tag;
|
|
56
61
|
const newOldest = newTag.tagSupport.templater.global.oldest;
|
|
57
62
|
const hasOldest = newOldest ? true : false;
|
|
58
63
|
if (!hasOldest) {
|
|
59
|
-
return buildNewTag(newTag,
|
|
64
|
+
return buildNewTag(newTag,
|
|
65
|
+
// ??? newly changed
|
|
66
|
+
insertBefore, // oldInsertBefore,
|
|
67
|
+
oldTagSupport, subject);
|
|
60
68
|
}
|
|
61
|
-
if (newOldest &&
|
|
69
|
+
if (newOldest && templater.children.value.length) {
|
|
62
70
|
const oldKidsSub = newOldest.tagSupport.templater.children;
|
|
63
|
-
oldKidsSub.set(
|
|
71
|
+
oldKidsSub.set(templater.children.value);
|
|
64
72
|
}
|
|
65
73
|
// const newTag = tempResult.newest as Tag
|
|
66
74
|
if (previous && !oldestTag) {
|
|
@@ -77,12 +85,8 @@ export function updateExistingTagComponent(ownerTag, tempResult, subject, insert
|
|
|
77
85
|
throw new Error('maybe 6');
|
|
78
86
|
}
|
|
79
87
|
subject.tag = newTag;
|
|
80
|
-
/*
|
|
81
|
-
if(!newTag.hasLiveElements) {
|
|
82
|
-
throw new Error('44444 - 6')
|
|
83
|
-
}
|
|
84
|
-
*/
|
|
85
88
|
oldestTag.updateByTag(newTag); // the oldest tag has element references
|
|
89
|
+
return newTag;
|
|
86
90
|
}
|
|
87
91
|
else {
|
|
88
92
|
// Although function looked the same it returned a different html result
|
|
@@ -91,14 +95,12 @@ export function updateExistingTagComponent(ownerTag, tempResult, subject, insert
|
|
|
91
95
|
newTag.tagSupport.templater.global.context = {}; // do not share previous outputs
|
|
92
96
|
}
|
|
93
97
|
oldest = undefined;
|
|
94
|
-
// ??? - new remove
|
|
95
|
-
// subject.tag = newTag
|
|
96
98
|
}
|
|
97
99
|
if (!oldest) {
|
|
98
100
|
buildNewTag(newTag, oldTagSupport.templater.global.insertBefore, oldTagSupport, subject);
|
|
99
101
|
}
|
|
100
102
|
oldTagSupport.templater.global.newest = newTag;
|
|
101
|
-
return;
|
|
103
|
+
return newTag;
|
|
102
104
|
}
|
|
103
105
|
function checkStateChanged(state) {
|
|
104
106
|
return !state.newest.every(state => {
|
|
@@ -114,19 +116,38 @@ function checkStateChanged(state) {
|
|
|
114
116
|
function buildNewTag(newTag, oldInsertBefore, oldTagSupport, subject) {
|
|
115
117
|
newTag.buildBeforeElement(oldInsertBefore, {
|
|
116
118
|
forceElement: true,
|
|
117
|
-
counts: { added: 0, removed: 0 },
|
|
119
|
+
counts: { added: 0, removed: 0 },
|
|
118
120
|
});
|
|
119
121
|
newTag.tagSupport.templater.global.oldest = newTag;
|
|
120
122
|
newTag.tagSupport.templater.global.newest = newTag;
|
|
121
123
|
oldTagSupport.templater.global.oldest = newTag;
|
|
122
124
|
oldTagSupport.templater.global.newest = newTag;
|
|
123
|
-
if (!newTag.tagSupport.templater.global.oldest) {
|
|
124
|
-
throw new Error('maybe 5');
|
|
125
|
-
}
|
|
126
125
|
subject.tag = newTag;
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
126
|
+
return newTag;
|
|
127
|
+
}
|
|
128
|
+
function syncFunctionProps(templater, existingTag, ownerTag, newProps) {
|
|
129
|
+
existingTag = existingTag.tagSupport.templater.global.newest;
|
|
130
|
+
// const templater = existingTag.tagSupport.templater
|
|
131
|
+
const priorProps = existingTag.tagSupport.propsConfig.latestCloned;
|
|
132
|
+
const oldLatest = ownerTag.tagSupport.templater.global.newest;
|
|
133
|
+
const ownerSupport = oldLatest.tagSupport;
|
|
134
|
+
Object.entries(priorProps).forEach(([name, value]) => {
|
|
135
|
+
if (!(value instanceof Function)) {
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
const newOriginal = value.original;
|
|
139
|
+
// TODO: The code below maybe irrelevant
|
|
140
|
+
const newCallback = newProps[name];
|
|
141
|
+
const original = newCallback.original;
|
|
142
|
+
if (original) {
|
|
143
|
+
return; // already previously converted
|
|
144
|
+
}
|
|
145
|
+
// Currently, call self but over parent state changes, I may need to call a newer parent tag owner
|
|
146
|
+
priorProps[name].toCall = (...args) => {
|
|
147
|
+
return callbackPropOwner(newCallback, // value, // newOriginal,
|
|
148
|
+
args, templater, ownerSupport);
|
|
149
|
+
};
|
|
150
|
+
return;
|
|
151
|
+
});
|
|
131
152
|
}
|
|
132
153
|
//# sourceMappingURL=updateExistingTagComponent.function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateExistingTagComponent.function.js","sourceRoot":"","sources":["../ts/updateExistingTagComponent.function.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;
|
|
1
|
+
{"version":3,"file":"updateExistingTagComponent.function.js","sourceRoot":"","sources":["../ts/updateExistingTagComponent.function.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { TagSupport } from './TagSupport.class';
|
|
2
|
-
import { Subject } from './Subject';
|
|
2
|
+
import { Subject } from './subject/Subject.class';
|
|
3
3
|
import { TemplaterResult } from './TemplaterResult.class';
|
|
4
4
|
import { Tag } from './Tag.class';
|
|
5
5
|
import { InterpolateSubject } from './processSubjectValue.function';
|
|
6
6
|
import { RegularValue } from './processRegularValue.function';
|
|
7
|
+
import { InsertBefore } from './Clones.type';
|
|
7
8
|
export type ExistingValue = TemplaterResult | Tag[] | TagSupport | Function | Subject<unknown> | RegularValue | Tag;
|
|
8
|
-
export declare function updateExistingValue(subject: InterpolateSubject, value: ExistingValue, ownerTag: Tag, insertBefore:
|
|
9
|
+
export declare function updateExistingValue(subject: InterpolateSubject, value: ExistingValue, ownerTag: Tag, insertBefore: InsertBefore): InterpolateSubject;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { TagSupport } from './TagSupport.class';
|
|
1
2
|
import { isSubjectInstance, isTagArray, isTagComponent, isTagInstance } from './isInstance';
|
|
2
|
-
import { applyFakeTemplater, processTag } from './processSubjectValue.function';
|
|
3
3
|
import { processTagArray } from './processTagArray';
|
|
4
4
|
import { updateExistingTagComponent } from './updateExistingTagComponent.function';
|
|
5
5
|
import { processRegularValue } from './processRegularValue.function';
|
|
@@ -7,35 +7,54 @@ import { checkDestroyPrevious } from './checkDestroyPrevious.function';
|
|
|
7
7
|
import { processSubjectComponent } from './processSubjectComponent.function';
|
|
8
8
|
import { isLikeTags } from './isLikeTags.function';
|
|
9
9
|
import { bindSubjectCallback } from './bindSubjectCallback.function';
|
|
10
|
+
import { applyFakeTemplater, processTag } from './processTag.function';
|
|
11
|
+
import { insertAfter } from './insertAfter.function';
|
|
10
12
|
export function updateExistingValue(subject, value, ownerTag, insertBefore) {
|
|
11
|
-
const
|
|
13
|
+
const subjectTag = subject;
|
|
12
14
|
const isComponent = isTagComponent(value);
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
+
// const global = subjectTag.tag?.tagSupport.templater.global
|
|
16
|
+
// const placeholderElm = global?.placeholderElm || global?.insertBefore || (subject as DisplaySubject).insertBefore
|
|
17
|
+
// const oldInsertBefore = placeholderElm || (subject as DisplaySubject).clone
|
|
18
|
+
const destroyType = checkDestroyPrevious(subject, value, insertBefore);
|
|
15
19
|
// handle already seen tag components
|
|
16
20
|
if (isComponent) {
|
|
17
21
|
const templater = value;
|
|
18
22
|
// When was something before component
|
|
19
|
-
if (!
|
|
20
|
-
processSubjectComponent(templater,
|
|
23
|
+
if (!subjectTag.tag) {
|
|
24
|
+
const tag = processSubjectComponent(templater, subjectTag, insertBefore, // oldInsertBefore as InsertBefore,
|
|
25
|
+
ownerTag, {
|
|
21
26
|
forceElement: true,
|
|
22
27
|
counts: { added: 0, removed: 0 },
|
|
23
28
|
});
|
|
24
|
-
return
|
|
29
|
+
return subjectTag;
|
|
25
30
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
31
|
+
// ??? - new put back down template tag before redraw
|
|
32
|
+
const placeholderElm = subjectTag.tag.tagSupport.templater.global.placeholderElm;
|
|
33
|
+
if (placeholderElm) {
|
|
34
|
+
insertAfter(insertBefore, placeholderElm);
|
|
35
|
+
delete subjectTag.tag.tagSupport.templater.global.placeholderElm;
|
|
36
|
+
}
|
|
37
|
+
templater.tagSupport = new TagSupport(
|
|
38
|
+
// subjectTag.tag.tagSupport.ownerTagSupport,
|
|
39
|
+
ownerTag.tagSupport, templater, subjectTag);
|
|
40
|
+
const tag = updateExistingTagComponent(ownerTag, templater, // latest value
|
|
41
|
+
subjectTag, insertBefore);
|
|
42
|
+
if (insertBefore.parentNode) {
|
|
43
|
+
tag.tagSupport.templater.global.placeholderElm = insertBefore.previousSibling;
|
|
44
|
+
insertBefore.parentNode.removeChild(insertBefore);
|
|
45
|
+
}
|
|
46
|
+
return subjectTag;
|
|
29
47
|
}
|
|
30
48
|
// was component but no longer
|
|
31
|
-
const
|
|
32
|
-
if (
|
|
33
|
-
handleStillTag(
|
|
34
|
-
return
|
|
49
|
+
const tag = subjectTag.tag;
|
|
50
|
+
if (tag) {
|
|
51
|
+
handleStillTag(tag, subject, value, ownerTag);
|
|
52
|
+
return subjectTag;
|
|
35
53
|
}
|
|
36
54
|
// its another tag array
|
|
37
55
|
if (isTagArray(value)) {
|
|
38
|
-
processTagArray(subject, value,
|
|
56
|
+
processTagArray(subject, value, insertBefore, // oldInsertBefore as InsertBefore,
|
|
57
|
+
ownerTag, { counts: {
|
|
39
58
|
added: 0,
|
|
40
59
|
removed: 0,
|
|
41
60
|
} });
|
|
@@ -49,17 +68,22 @@ export function updateExistingValue(subject, value, ownerTag, insertBefore) {
|
|
|
49
68
|
return subject;
|
|
50
69
|
}
|
|
51
70
|
if (isTagInstance(value)) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
71
|
+
if (insertBefore.tagName !== 'TEMPLATE') {
|
|
72
|
+
throw new Error(`expected template - ${insertBefore.nodeName}`);
|
|
73
|
+
}
|
|
74
|
+
processTag(value, subjectTag, insertBefore, ownerTag);
|
|
75
|
+
return subjectTag;
|
|
55
76
|
}
|
|
56
77
|
// we have been given a subject
|
|
57
78
|
if (isSubjectInstance(value)) {
|
|
58
79
|
return value;
|
|
59
80
|
}
|
|
60
81
|
// This will cause all other values to render
|
|
61
|
-
processRegularValue(value, subject,
|
|
62
|
-
|
|
82
|
+
processRegularValue(value, subject,
|
|
83
|
+
// ??? - changed to insertBefore for tag switching with template removal
|
|
84
|
+
insertBefore // oldInsertBefore as InsertBefore,
|
|
85
|
+
);
|
|
86
|
+
return subjectTag;
|
|
63
87
|
}
|
|
64
88
|
function handleStillTag(existingTag, subject, value, ownerTag) {
|
|
65
89
|
// TODO: We shouldn't need both of these
|
|
@@ -74,8 +98,12 @@ function handleStillTag(existingTag, subject, value, ownerTag) {
|
|
|
74
98
|
return;
|
|
75
99
|
}
|
|
76
100
|
if (isSameTag || isSameTag2) {
|
|
77
|
-
|
|
101
|
+
const subjectTag = subject;
|
|
102
|
+
const global = existingTag.tagSupport.templater.global;
|
|
103
|
+
delete global.placeholderElm;
|
|
104
|
+
const insertBefore = global.insertBefore;
|
|
105
|
+
return processTag(value, subjectTag, insertBefore, ownerTag);
|
|
78
106
|
}
|
|
79
|
-
return processRegularValue(value, subject, subject.
|
|
107
|
+
return processRegularValue(value, subject, subject.insertBefore);
|
|
80
108
|
}
|
|
81
109
|
//# sourceMappingURL=updateExistingValue.function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateExistingValue.function.js","sourceRoot":"","sources":["../ts/updateExistingValue.function.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"updateExistingValue.function.js","sourceRoot":"","sources":["../ts/updateExistingValue.function.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|