taggedjs 2.8.19 → 2.8.22
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 +1 -1
- package/bundle.js.map +1 -1
- package/js/subject/index.d.ts +1 -0
- package/js/subject/index.js.map +1 -1
- package/js/tag/hasPropChanges.function.d.ts +3 -1
- package/js/tag/hasPropChanges.function.js +47 -34
- package/js/tag/hasPropChanges.function.js.map +1 -1
- package/js/tag/hasSupportChanged.function.js +1 -81
- package/js/tag/hasSupportChanged.function.js.map +1 -1
- package/js/tag/html.d.ts +4 -3
- package/js/tag/html.js.map +1 -1
- package/js/tag/index.d.ts +2 -0
- package/js/tag/index.js +2 -0
- package/js/tag/index.js.map +1 -1
- package/js/tag/tag.function.d.ts +2 -0
- package/js/tag/tag.function.js +2 -0
- package/js/tag/tag.function.js.map +1 -1
- package/js/tag/tag.types.js.map +1 -1
- package/js/tag/update/compareArrayItems.function.d.ts +1 -1
- package/js/tag/update/processRegularValue.function.d.ts +1 -1
- package/js/tag/update/syncPriorPropFunction.function.d.ts +3 -0
- package/js/tag/update/syncPriorPropFunction.function.js +31 -0
- package/js/tag/update/syncPriorPropFunction.function.js.map +1 -0
- package/js/tag/update/updateExistingArray.function.d.ts +3 -0
- package/js/tag/update/updateExistingArray.function.js +10 -0
- package/js/tag/update/updateExistingArray.function.js.map +1 -0
- package/js/tag/update/updateExistingObject.function.d.ts +3 -0
- package/js/tag/update/updateExistingObject.function.js +19 -0
- package/js/tag/update/updateExistingObject.function.js.map +1 -0
- package/js/tag/update/updateExistingTagComponent.function.js +3 -53
- package/js/tag/update/updateExistingTagComponent.function.js.map +1 -1
- package/package.json +1 -1
package/js/subject/index.d.ts
CHANGED
package/js/subject/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/subject/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/subject/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAG7C,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Props } from '../Props.js';
|
|
2
|
+
import { PropWatches } from './tag.function.js';
|
|
2
3
|
/**
|
|
3
4
|
*
|
|
4
5
|
* @param props
|
|
@@ -6,4 +7,5 @@ import { Props } from '../Props.js';
|
|
|
6
7
|
* @returns WHEN number then props have changed. WHEN false props have not changed
|
|
7
8
|
*/
|
|
8
9
|
export declare function hasPropChanges(props: Props, // natural props
|
|
9
|
-
pastCloneProps: Props
|
|
10
|
+
pastCloneProps: Props, // previously cloned props
|
|
11
|
+
propWatch: PropWatches): number | false;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { deepEqual } from '../deepFunctions.js';
|
|
2
|
+
import { deepCompareDepth, immutablePropMatch, shallowPropMatch } from './hasSupportChanged.function.js';
|
|
3
|
+
import { hasPropLengthsChanged } from './render/renderSupport.function.js';
|
|
4
|
+
import { PropWatches } from './tag.function.js';
|
|
2
5
|
import { BasicTypes } from './ValueTypes.enum.js';
|
|
3
6
|
/**
|
|
4
7
|
*
|
|
@@ -7,47 +10,57 @@ import { BasicTypes } from './ValueTypes.enum.js';
|
|
|
7
10
|
* @returns WHEN number then props have changed. WHEN false props have not changed
|
|
8
11
|
*/
|
|
9
12
|
export function hasPropChanges(props, // natural props
|
|
10
|
-
pastCloneProps
|
|
13
|
+
pastCloneProps, // previously cloned props
|
|
14
|
+
propWatch) {
|
|
15
|
+
const hasLenChanged = hasPropLengthsChanged(props, pastCloneProps);
|
|
16
|
+
if (hasLenChanged) {
|
|
17
|
+
return 11;
|
|
18
|
+
}
|
|
19
|
+
switch (propWatch) {
|
|
20
|
+
case PropWatches.NONE:
|
|
21
|
+
return 1; // always render
|
|
22
|
+
case PropWatches.SHALLOW: // determining equal is same as immutable, its the previous cloning step thats different
|
|
23
|
+
return shallowPropMatch(props, pastCloneProps);
|
|
24
|
+
case PropWatches.IMMUTABLE:
|
|
25
|
+
return immutablePropMatch(props, pastCloneProps);
|
|
26
|
+
}
|
|
27
|
+
return deepPropChangeCompare(props, pastCloneProps);
|
|
28
|
+
}
|
|
29
|
+
function deepPropChangeCompare(props, pastCloneProps) {
|
|
30
|
+
// DEEP watch
|
|
11
31
|
let castedProps = props;
|
|
12
32
|
let castedPastProps = pastCloneProps;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
castedProps = [...props];
|
|
19
|
-
castedPastProps = [...(pastCloneProps || [])];
|
|
20
|
-
const allFunctionsMatch = castedProps.every((value, index) => {
|
|
21
|
-
const compare = castedPastProps[index];
|
|
22
|
-
if (value && typeof (value) === BasicTypes.object) {
|
|
23
|
-
const subCastedProps = { ...value };
|
|
24
|
-
const subCompareProps = { ...compare || {} };
|
|
25
|
-
const matched = Object.entries(subCastedProps).every(([key, value]) => compareProps(value, subCompareProps[key], () => {
|
|
26
|
-
delete subCastedProps[key]; // its a function and not needed to be compared
|
|
27
|
-
delete subCompareProps[key]; // its a function and not needed to be compared
|
|
28
|
-
}));
|
|
29
|
-
return matched;
|
|
30
|
-
}
|
|
31
|
-
return compareProps(value, compare, () => {
|
|
32
|
-
castedProps.splice(index, 1);
|
|
33
|
-
castedPastProps.splice(index, 1);
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
if (!allFunctionsMatch) {
|
|
37
|
-
return 'functions-changed'; // a change has been detected by function comparisons
|
|
38
|
-
}
|
|
33
|
+
castedProps = [...props];
|
|
34
|
+
castedPastProps = [...(pastCloneProps || [])];
|
|
35
|
+
const allFunctionsMatch = castedProps.every((value, index) => onePropCompare(value, index, castedProps, castedPastProps));
|
|
36
|
+
if (!allFunctionsMatch) {
|
|
37
|
+
return 7; // a change has been detected by function comparisons
|
|
39
38
|
}
|
|
40
|
-
// const isEqual = deepEqual(castedPastProps, castedProps)
|
|
41
|
-
// return isEqual ? false : 7 // if equal then no changes
|
|
42
39
|
return false;
|
|
43
40
|
}
|
|
41
|
+
function onePropCompare(value, index, castedProps, castedPastProps) {
|
|
42
|
+
const compare = castedPastProps[index];
|
|
43
|
+
if (typeof (value) === BasicTypes.object) {
|
|
44
|
+
const subCastedProps = { ...value };
|
|
45
|
+
const subCompareProps = { ...compare || {} };
|
|
46
|
+
const matched = Object.entries(subCastedProps).every(([key, value]) => compareProps(value, subCompareProps[key], () => {
|
|
47
|
+
delete subCastedProps[key]; // its a function and not needed to be compared
|
|
48
|
+
delete subCompareProps[key]; // its a function and not needed to be compared
|
|
49
|
+
}));
|
|
50
|
+
return matched;
|
|
51
|
+
}
|
|
52
|
+
return compareProps(value, compare, () => {
|
|
53
|
+
castedProps.splice(index, 1);
|
|
54
|
+
castedPastProps.splice(index, 1);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
44
57
|
/** returning a number means true good comparison */
|
|
45
58
|
function compareProps(value, compare, onDelete) {
|
|
46
|
-
if (!(value
|
|
47
|
-
return deepEqual(value, compare) ? 4 : false;
|
|
59
|
+
if (!(typeof (value) === BasicTypes.function)) {
|
|
60
|
+
return deepEqual(value, compare, deepCompareDepth) ? 4 : false;
|
|
48
61
|
}
|
|
49
62
|
const compareFn = compare;
|
|
50
|
-
if (!(compareFn
|
|
63
|
+
if (!(typeof (compareFn) === BasicTypes.function)) {
|
|
51
64
|
return false; // its a function now but was not before
|
|
52
65
|
}
|
|
53
66
|
// ensure we are comparing apples to apples as function get wrapped
|
|
@@ -63,9 +76,9 @@ function compareProps(value, compare, onDelete) {
|
|
|
63
76
|
const compareString = compare.toString();
|
|
64
77
|
if (valueString === compareString) {
|
|
65
78
|
onDelete();
|
|
66
|
-
return
|
|
79
|
+
return 5; // both are function the same
|
|
67
80
|
}
|
|
68
81
|
onDelete();
|
|
69
|
-
return
|
|
82
|
+
return 6;
|
|
70
83
|
}
|
|
71
84
|
//# sourceMappingURL=hasPropChanges.function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasPropChanges.function.js","sourceRoot":"","sources":["../../ts/tag/hasPropChanges.function.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hasPropChanges.function.js","sourceRoot":"","sources":["../../ts/tag/hasPropChanges.function.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { deepEqual } from '../deepFunctions.js';
|
|
2
1
|
import { isArray } from '../isInstance.js';
|
|
3
|
-
import {
|
|
4
|
-
import { PropWatches } from './tag.function.js';
|
|
2
|
+
import { hasPropChanges } from './hasPropChanges.function.js';
|
|
5
3
|
import { BasicTypes } from './ValueTypes.enum.js';
|
|
6
4
|
export function hasSupportChanged(lastSupport, newTemplater) {
|
|
7
5
|
const latestProps = newTemplater.props;
|
|
@@ -10,41 +8,6 @@ export function hasSupportChanged(lastSupport, newTemplater) {
|
|
|
10
8
|
const propsChanged = hasPropChanges(latestProps, pastCloneProps, lastSupport.templater.propWatch);
|
|
11
9
|
return propsChanged;
|
|
12
10
|
}
|
|
13
|
-
/**
|
|
14
|
-
*
|
|
15
|
-
* @param props
|
|
16
|
-
* @param pastCloneProps
|
|
17
|
-
* @returns WHEN number then props have changed. WHEN false props have not changed
|
|
18
|
-
*/
|
|
19
|
-
function hasPropChanges(props, // natural props
|
|
20
|
-
pastCloneProps, // previously cloned props
|
|
21
|
-
propWatch) {
|
|
22
|
-
const hasLenChanged = hasPropLengthsChanged(props, pastCloneProps);
|
|
23
|
-
if (hasLenChanged) {
|
|
24
|
-
return 11;
|
|
25
|
-
}
|
|
26
|
-
switch (propWatch) {
|
|
27
|
-
case PropWatches.NONE:
|
|
28
|
-
return 1; // always render
|
|
29
|
-
case PropWatches.SHALLOW: // determining equal is same as immutable, its the previous cloning step thats different
|
|
30
|
-
return shallowPropMatch(props, pastCloneProps);
|
|
31
|
-
case PropWatches.IMMUTABLE:
|
|
32
|
-
return immutablePropMatch(props, pastCloneProps);
|
|
33
|
-
}
|
|
34
|
-
return deepPropChangeCompare(props, pastCloneProps);
|
|
35
|
-
}
|
|
36
|
-
function deepPropChangeCompare(props, pastCloneProps) {
|
|
37
|
-
// DEEP watch
|
|
38
|
-
let castedProps = props;
|
|
39
|
-
let castedPastProps = pastCloneProps;
|
|
40
|
-
castedProps = [...props];
|
|
41
|
-
castedPastProps = [...(pastCloneProps || [])];
|
|
42
|
-
const allFunctionsMatch = castedProps.every((value, index) => onePropCompare(value, index, castedProps, castedPastProps));
|
|
43
|
-
if (!allFunctionsMatch) {
|
|
44
|
-
return 7; // a change has been detected by function comparisons
|
|
45
|
-
}
|
|
46
|
-
return false;
|
|
47
|
-
}
|
|
48
11
|
export function immutablePropMatch(props, pastCloneProps) {
|
|
49
12
|
// if every prop the same, then no changes
|
|
50
13
|
const len = props.length;
|
|
@@ -91,51 +54,8 @@ export function shallowPropMatch(props, pastCloneProps) {
|
|
|
91
54
|
}
|
|
92
55
|
return false; // false means has not changed
|
|
93
56
|
}
|
|
94
|
-
function onePropCompare(value, index, castedProps, castedPastProps) {
|
|
95
|
-
const compare = castedPastProps[index];
|
|
96
|
-
if (typeof (value) === BasicTypes.object) {
|
|
97
|
-
const subCastedProps = { ...value };
|
|
98
|
-
const subCompareProps = { ...compare || {} };
|
|
99
|
-
const matched = Object.entries(subCastedProps).every(([key, value]) => compareProps(value, subCompareProps[key], () => {
|
|
100
|
-
delete subCastedProps[key]; // its a function and not needed to be compared
|
|
101
|
-
delete subCompareProps[key]; // its a function and not needed to be compared
|
|
102
|
-
}));
|
|
103
|
-
return matched;
|
|
104
|
-
}
|
|
105
|
-
return compareProps(value, compare, () => {
|
|
106
|
-
castedProps.splice(index, 1);
|
|
107
|
-
castedPastProps.splice(index, 1);
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
57
|
export const shallowCompareDepth = 3;
|
|
111
58
|
export const deepCompareDepth = 10;
|
|
112
|
-
/** returning a number means true good comparison */
|
|
113
|
-
function compareProps(value, compare, onDelete) {
|
|
114
|
-
if (!(typeof (value) === BasicTypes.function)) {
|
|
115
|
-
return deepEqual(value, compare, deepCompareDepth) ? 4 : false;
|
|
116
|
-
}
|
|
117
|
-
const compareFn = compare;
|
|
118
|
-
if (!(typeof (compareFn) === BasicTypes.function)) {
|
|
119
|
-
return false; // its a function now but was not before
|
|
120
|
-
}
|
|
121
|
-
// ensure we are comparing apples to apples as function get wrapped
|
|
122
|
-
const compareOriginal = compare?.original;
|
|
123
|
-
if (compareOriginal) {
|
|
124
|
-
compare = compareOriginal;
|
|
125
|
-
}
|
|
126
|
-
const original = value.original;
|
|
127
|
-
if (original) {
|
|
128
|
-
value = value.original;
|
|
129
|
-
}
|
|
130
|
-
const valueString = value.toString();
|
|
131
|
-
const compareString = compare.toString();
|
|
132
|
-
if (valueString === compareString) {
|
|
133
|
-
onDelete();
|
|
134
|
-
return 5; // both are function the same
|
|
135
|
-
}
|
|
136
|
-
onDelete();
|
|
137
|
-
return 6;
|
|
138
|
-
}
|
|
139
59
|
function objectItemMatches([name, value], pastProp) {
|
|
140
60
|
const pastValue = pastProp[name];
|
|
141
61
|
if (typeof (value) === BasicTypes.function && typeof (pastValue) === BasicTypes.function) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasSupportChanged.function.js","sourceRoot":"","sources":["../../ts/tag/hasSupportChanged.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"hasSupportChanged.function.js","sourceRoot":"","sources":["../../ts/tag/hasSupportChanged.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAK1C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,MAAM,UAAU,iBAAiB,CAC/B,WAAwB,EACxB,YAA6B;IAE7B,MAAM,WAAW,GAAG,YAAY,CAAC,KAAc,CAAA;IAC/C,MAAM,WAAW,GAAG,WAAW,CAAC,WAA0B,CAAA;IAC1D,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAA;IAEzC,MAAM,YAAY,GAAG,cAAc,CACjC,WAAW,EACX,cAAc,EACd,WAAW,CAAC,SAAS,CAAC,SAAS,CAChC,CAAA;IAED,OAAO,YAAY,CAAA;AACrB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,KAAY,EACZ,cAAqB;IAErB,0CAA0C;IAC1C,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAA;IACxB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;QACzB,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;QAEtC,IAAG,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrB,OAAO,CAAC,CAAA;QACV,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA,CAAC,8BAA8B;AAC7C,CAAC;AAGD,MAAM,UAAU,gBAAgB,CAC9B,KAAY,EACZ,cAAqB;IAErB,0CAA0C;IAC1C,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAA;IACxB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;QACzB,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;QAEtC,IAAG,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,IAAG,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrB,SAAQ;YACV,CAAC;YAED,OAAO,GAAG,CAAA,CAAC,kBAAkB;QAC/B,CAAC;QAED,IAAG,OAAM,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,QAAQ,IAAI,OAAM,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC;YACpF,SAAQ,CAAC,kBAAkB;QAC7B,CAAC;QAED,IAAG,OAAM,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;YACtC,IAAG,OAAM,CAAC,cAAc,CAAC,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;gBAChD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;gBACtC,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;oBAChC,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;oBACnD,IAAG,CAAC,MAAM,EAAE,CAAC;wBACX,OAAO,GAAG,CAAA;oBACZ,CAAC;gBACH,CAAC;YAEH,CAAC;YAED,SAAQ,CAAC,0BAA0B;QACrC,CAAC;QAED,IAAG,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrB,SAAQ,CAAC,eAAe;QAC1B,CAAC;QAED,OAAO,GAAG,CAAA,CAAC,YAAY;IACzB,CAAC;IAED,OAAO,KAAK,CAAA,CAAC,8BAA8B;AAC7C,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAA;AACpC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAElC,SAAS,iBAAiB,CACxB,CAAC,IAAI,EAAE,KAAK,CAAoB,EAChC,QAAa;IAEb,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAEhC,IAAG,OAAM,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC,QAAQ,IAAI,OAAM,CAAC,SAAS,CAAC,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC;QACtF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,SAAS,KAAK,KAAK,CAAA;AAC5B,CAAC"}
|
package/js/tag/html.d.ts
CHANGED
|
@@ -2,11 +2,12 @@ import { InputElementTargetEvent } from '../interpolations/attributes/ElementTar
|
|
|
2
2
|
import { LikeObjectChildren } from '../interpolations/optimizers/LikeObjectElement.type.js';
|
|
3
3
|
import { RegularValue } from './update/processRegularValue.function.js';
|
|
4
4
|
import { Tag } from './Tag.type.js';
|
|
5
|
-
type InputCallback = ((e: InputElementTargetEvent) =>
|
|
6
|
-
|
|
5
|
+
export type InputCallback = ((e: InputElementTargetEvent) => unknown);
|
|
6
|
+
/** represents a single value within html`<div>${value}</div>`. The data typing of "& unknown" is to allow anything AND STILL infer functions have one argument if "e" */
|
|
7
|
+
export type TagValue = (InputCallback | RegularValue | object) & unknown;
|
|
8
|
+
export type TagValues = TagValue[];
|
|
7
9
|
/** Used as html`<div></div>` */
|
|
8
10
|
export declare function html(strings: string[] | TemplateStringsArray, ...values: TagValues): Tag;
|
|
9
11
|
export declare namespace html {
|
|
10
12
|
var dom: (dom: LikeObjectChildren, ...values: TagValues) => import("./DomTag.type.js").DomTag;
|
|
11
13
|
}
|
|
12
|
-
export {};
|
package/js/tag/html.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html.js","sourceRoot":"","sources":["../../ts/tag/html.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"html.js","sourceRoot":"","sources":["../../ts/tag/html.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AASrE,gCAAgC;AAChC,MAAM,UAAU,IAAI,CAClB,OAAwC,EACxC,GAAG,MAAiB;IAEpB,MAAM,SAAS,GAAG,YAAY,CAAC,OAAmB,EAAE,MAAM,CAAC,CAAA;IAC3D,MAAM,SAAS,GAAG,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACtD,SAAS,CAAC,GAAG,GAAG,SAAS,CAAA;IACzB,SAAS,CAAC,SAAS,GAAG,SAAS,CAAA;IAC/B,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,IAAI,CAAC,GAAG,GAAG,UACT,GAAuB,EACvB,GAAG,MAAiB;IAEpB,OAAO,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;AAC/B,CAAC,CAAA"}
|
package/js/tag/index.d.ts
CHANGED
|
@@ -23,3 +23,5 @@ export { renderSupport } from './render/renderSupport.function.js';
|
|
|
23
23
|
export { renderWithSupport } from './render/renderWithSupport.function.js';
|
|
24
24
|
export { paint } from './paint.function.js';
|
|
25
25
|
export { processFirstSubjectValue } from './update/processFirstSubjectValue.function.js';
|
|
26
|
+
export { hasPropChanges } from './hasPropChanges.function.js';
|
|
27
|
+
export { PropWatches } from './tag.function.js';
|
package/js/tag/index.js
CHANGED
|
@@ -20,4 +20,6 @@ export { renderSupport } from './render/renderSupport.function.js';
|
|
|
20
20
|
export { renderWithSupport } from './render/renderWithSupport.function.js';
|
|
21
21
|
export { paint } from './paint.function.js';
|
|
22
22
|
export { processFirstSubjectValue } from './update/processFirstSubjectValue.function.js';
|
|
23
|
+
export { hasPropChanges } from './hasPropChanges.function.js';
|
|
24
|
+
export { PropWatches } from './tag.function.js';
|
|
23
25
|
//# sourceMappingURL=index.js.map
|
package/js/tag/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/tag/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAChE,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,cAAc,kCAAkC,CAAA;AAChD,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,sBAAsB,CAAA;AACpC,cAAc,oCAAoC,CAAA;AAClD,cAAc,yCAAyC,CAAA;AACvD,cAAc,kCAAkC,CAAA;AAChD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,oCAAoC,CAAA;AAClD,cAAc,mCAAmC,CAAA;AACjD,cAAc,oBAAoB,CAAA;AAElC,cAAc,iBAAiB,CAAA;AAG/B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/tag/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAChE,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,cAAc,kCAAkC,CAAA;AAChD,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,sBAAsB,CAAA;AACpC,cAAc,oCAAoC,CAAA;AAClD,cAAc,yCAAyC,CAAA;AACvD,cAAc,kCAAkC,CAAA;AAChD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,oCAAoC,CAAA;AAClD,cAAc,mCAAmC,CAAA;AACjD,cAAc,oBAAoB,CAAA;AAElC,cAAc,iBAAiB,CAAA;AAG/B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAA;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA"}
|
package/js/tag/tag.function.d.ts
CHANGED
|
@@ -11,8 +11,10 @@ export type TaggedFunction<T extends ToTag> = ((...x: Parameters<T>) => ReturnTy
|
|
|
11
11
|
}) & {
|
|
12
12
|
original: UnknownFunction;
|
|
13
13
|
};
|
|
14
|
+
/** How to handle checking for prop changes aka argument changes */
|
|
14
15
|
export declare enum PropWatches {
|
|
15
16
|
DEEP = "deep",
|
|
17
|
+
/** checks all values up to 2 levels deep */
|
|
16
18
|
SHALLOW = "shallow",
|
|
17
19
|
NONE = "none",
|
|
18
20
|
IMMUTABLE = "immutable"
|
package/js/tag/tag.function.js
CHANGED
|
@@ -5,9 +5,11 @@ import { tags } from './tag.utils.js';
|
|
|
5
5
|
import { getTagWrap } from './getTagWrap.function.js';
|
|
6
6
|
import { ValueTypes } from './ValueTypes.enum.js';
|
|
7
7
|
let tagCount = 0;
|
|
8
|
+
/** How to handle checking for prop changes aka argument changes */
|
|
8
9
|
export var PropWatches;
|
|
9
10
|
(function (PropWatches) {
|
|
10
11
|
PropWatches["DEEP"] = "deep";
|
|
12
|
+
/** checks all values up to 2 levels deep */
|
|
11
13
|
PropWatches["SHALLOW"] = "shallow";
|
|
12
14
|
PropWatches["NONE"] = "none";
|
|
13
15
|
PropWatches["IMMUTABLE"] = "immutable";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.function.js","sourceRoot":"","sources":["../../ts/tag/tag.function.ts"],"names":[],"mappings":"AAAA,sBAAsB;
|
|
1
|
+
{"version":3,"file":"tag.function.js","sourceRoot":"","sources":["../../ts/tag/tag.function.ts"],"names":[],"mappings":"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"}
|
package/js/tag/tag.types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.types.js","sourceRoot":"","sources":["../../ts/tag/tag.types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tag.types.js","sourceRoot":"","sources":["../../ts/tag/tag.types.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,UAAU;IACrB,GAAG,CAAC,KAAa;QACf,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
|
|
@@ -2,5 +2,5 @@ import { Counts } from '../../interpolations/interpolateTemplate.js';
|
|
|
2
2
|
import { ContextItem, LastArrayItem } from '../Context.types.js';
|
|
3
3
|
import { TemplaterResult } from '../getTemplaterResult.function.js';
|
|
4
4
|
import type { StringTag } from '../StringTag.type.js';
|
|
5
|
-
export declare function compareArrayItems(value: (TemplaterResult | StringTag)[], index: number, lastArray: LastArrayItem[], removed: number, counts: Counts):
|
|
5
|
+
export declare function compareArrayItems(value: (TemplaterResult | StringTag)[], index: number, lastArray: LastArrayItem[], removed: number, counts: Counts): 0 | 1 | 2;
|
|
6
6
|
export declare function destroyArrayItem(item: ContextItem, counts: Counts): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ContextItem } from '../Context.types.js';
|
|
2
|
-
export type RegularValue = string | number | undefined | boolean;
|
|
2
|
+
export type RegularValue = string | number | undefined | boolean | null;
|
|
3
3
|
export declare function processUpdateRegularValue(value: RegularValue, contextItem: ContextItem): void;
|
|
4
4
|
/** Used during updates that were another value/tag first but now simple string */
|
|
5
5
|
export declare function processNowRegularValue(value: RegularValue, subject: ContextItem): void;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { AnySupport } from '../getSupport.function.js';
|
|
2
|
+
import { WrapRunner } from '../../alterProp.function.js';
|
|
3
|
+
export declare function syncPriorPropFunction(priorProp: WrapRunner, prop: WrapRunner, newSupport: AnySupport, ownerSupport: AnySupport, maxDepth: number, depth: number): WrapRunner | Record<string, WrapRunner> | WrapRunner[];
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { isSkipPropValue } from '../../alterProp.function.js';
|
|
2
|
+
import { BasicTypes } from '../ValueTypes.enum.js';
|
|
3
|
+
import { isArray } from '../../isInstance.js';
|
|
4
|
+
import { updateExistingObject } from './updateExistingObject.function.js';
|
|
5
|
+
import { updateExistingArray } from './updateExistingArray.function.js';
|
|
6
|
+
export function syncPriorPropFunction(priorProp, prop, newSupport, ownerSupport, maxDepth, depth) {
|
|
7
|
+
if (priorProp === undefined || priorProp === null) {
|
|
8
|
+
return prop;
|
|
9
|
+
}
|
|
10
|
+
if (typeof (priorProp) === BasicTypes.function) {
|
|
11
|
+
// the prop i am receiving, is already being monitored/controlled by another parent
|
|
12
|
+
if (prop.mem) {
|
|
13
|
+
priorProp.mem = prop.mem;
|
|
14
|
+
return prop;
|
|
15
|
+
}
|
|
16
|
+
priorProp.mem = prop;
|
|
17
|
+
return priorProp;
|
|
18
|
+
}
|
|
19
|
+
// prevent infinite recursion
|
|
20
|
+
if (depth === maxDepth) {
|
|
21
|
+
return prop;
|
|
22
|
+
}
|
|
23
|
+
if (isSkipPropValue(prop)) {
|
|
24
|
+
return prop; // no children to crawl through
|
|
25
|
+
}
|
|
26
|
+
if (isArray(prop)) {
|
|
27
|
+
return updateExistingArray(prop, priorProp, newSupport, ownerSupport, depth);
|
|
28
|
+
}
|
|
29
|
+
return updateExistingObject(prop, priorProp, newSupport, ownerSupport, depth, maxDepth);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=syncPriorPropFunction.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syncPriorPropFunction.function.js","sourceRoot":"","sources":["../../../ts/tag/update/syncPriorPropFunction.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAc,MAAK,6BAA6B,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAEvE,MAAM,UAAU,qBAAqB,CACnC,SAAqB,EACrB,IAAgB,EAChB,UAAsB,EACtB,YAAwB,EACxB,QAAgB,EAChB,KAAa;IAEb,IAAG,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACjD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAG,OAAM,CAAC,SAAS,CAAC,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC7C,mFAAmF;QACnF,IAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACZ,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;YACxB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,SAAS,CAAC,GAAG,GAAG,IAAI,CAAA;QAEpB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,6BAA6B;IAC7B,IAAG,KAAK,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,eAAe,CAAC,IAAI,CAAC,EAAG,CAAC;QAC3B,OAAO,IAAI,CAAA,CAAC,+BAA+B;IAC7C,CAAC;IAED,IAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACjB,OAAO,mBAAmB,CACxB,IAA+B,EAC/B,SAAS,EACT,UAAU,EACV,YAAY,EACZ,KAAK,CACN,CAAA;IACH,CAAC;IAED,OAAO,oBAAoB,CACzB,IAA6C,EAC7C,SAAkD,EAClD,UAAU,EACV,YAAY,EACZ,KAAK,EACL,QAAQ,CACT,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { AnySupport } from '../getSupport.function.js';
|
|
2
|
+
import { WrapRunner } from '../../alterProp.function.js';
|
|
3
|
+
export declare function updateExistingArray(prop: WrapRunner[], priorProp: WrapRunner, newSupport: AnySupport, ownerSupport: AnySupport, depth: number): WrapRunner[];
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { syncPriorPropFunction } from './syncPriorPropFunction.function.js';
|
|
2
|
+
export function updateExistingArray(prop, priorProp, newSupport, ownerSupport, depth) {
|
|
3
|
+
for (let index = prop.length - 1; index >= 0; --index) {
|
|
4
|
+
const x = prop[index];
|
|
5
|
+
const oldProp = priorProp[index];
|
|
6
|
+
prop[index] = syncPriorPropFunction(oldProp, x, newSupport, ownerSupport, depth + 1, index);
|
|
7
|
+
}
|
|
8
|
+
return prop;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=updateExistingArray.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateExistingArray.function.js","sourceRoot":"","sources":["../../../ts/tag/update/updateExistingArray.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAE3E,MAAM,UAAU,mBAAmB,CACjC,IAAkB,EAClB,SAAqB,EACrB,UAAsB,EACtB,YAAwB,EACxB,KAAa;IAEb,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QACtD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;QACrB,MAAM,OAAO,GAAI,SAAkC,CAAC,KAAK,CAAe,CAAA;QACxE,IAAI,CAAC,KAAK,CAAC,GAAG,qBAAqB,CACjC,OAAO,EACP,CAAC,EACD,UAAU,EACV,YAAY,EACZ,KAAK,GAAG,CAAC,EACT,KAAK,CACQ,CAAA;IACjB,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { AnySupport } from '../getSupport.function.js';
|
|
2
|
+
import { WrapRunner } from '../../alterProp.function.js';
|
|
3
|
+
export declare function updateExistingObject(prop: Record<string, WrapRunner>, priorProp: Record<string, WrapRunner>, newSupport: AnySupport, ownerSupport: AnySupport, depth: number, maxDepth: number): Record<string, WrapRunner>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { syncPriorPropFunction } from './syncPriorPropFunction.function.js';
|
|
2
|
+
export function updateExistingObject(prop, priorProp, newSupport, ownerSupport, depth, maxDepth) {
|
|
3
|
+
const keys = Object.keys(prop);
|
|
4
|
+
for (const name of keys) {
|
|
5
|
+
const subValue = prop[name];
|
|
6
|
+
const oldProp = priorProp[name];
|
|
7
|
+
const result = syncPriorPropFunction(oldProp, subValue, newSupport, ownerSupport, maxDepth, depth + 1);
|
|
8
|
+
if (subValue === result) {
|
|
9
|
+
continue;
|
|
10
|
+
}
|
|
11
|
+
const hasSetter = Object.getOwnPropertyDescriptor(prop, name)?.set;
|
|
12
|
+
if (hasSetter) {
|
|
13
|
+
continue;
|
|
14
|
+
}
|
|
15
|
+
prop[name] = result;
|
|
16
|
+
}
|
|
17
|
+
return prop;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=updateExistingObject.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateExistingObject.function.js","sourceRoot":"","sources":["../../../ts/tag/update/updateExistingObject.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAE3E,MAAM,UAAU,oBAAoB,CAClC,IAAgC,EAChC,SAAqC,EACrC,UAAsB,EACtB,YAAwB,EACxB,KAAa,EACb,QAAgB;IAEhB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC9B,KAAI,MAAM,IAAI,IAAI,IAAI,EAAC,CAAC;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3B,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;QAE/B,MAAM,MAAM,GAAG,qBAAqB,CAClC,OAAO,EACP,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,KAAK,GAAG,CAAC,CACV,CAAA;QAED,IAAG,QAAQ,KAAK,MAAM,EAAE,CAAC;YACvB,SAAQ;QACV,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,GAAG,CAAA;QAClE,IAAG,SAAS,EAAE,CAAC;YACb,SAAQ;QACV,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,MAAoB,CAAA;IACnC,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { deepCompareDepth, hasSupportChanged, shallowCompareDepth } from '../hasSupportChanged.function.js';
|
|
2
2
|
import { processReplacementComponent } from './processFirstSubjectComponent.function.js';
|
|
3
|
-
import { castProps
|
|
3
|
+
import { castProps } from '../../alterProp.function.js';
|
|
4
4
|
import { renderSupport } from '../render/renderSupport.function.js';
|
|
5
|
-
import {
|
|
5
|
+
import { ValueTypes } from '../ValueTypes.enum.js';
|
|
6
6
|
import { destroySupport } from '../destroySupport.function.js';
|
|
7
7
|
import { getNewGlobal } from './getNewGlobal.function.js';
|
|
8
8
|
import { isLikeTags } from '../isLikeTags.function.js';
|
|
9
|
-
import { isArray } from '../../isInstance.js';
|
|
10
9
|
import { PropWatches } from '../tag.function.js';
|
|
10
|
+
import { syncPriorPropFunction } from './syncPriorPropFunction.function.js';
|
|
11
11
|
export function updateExistingTagComponent(ownerSupport, support, // lastest
|
|
12
12
|
subject) {
|
|
13
13
|
const global = subject.global;
|
|
@@ -71,56 +71,6 @@ maxDepth, depth = -1) {
|
|
|
71
71
|
newPropsConfig.castProps = newArray;
|
|
72
72
|
return newArray;
|
|
73
73
|
}
|
|
74
|
-
function syncPriorPropFunction(priorProp, prop, newSupport, ownerSupport, maxDepth, depth) {
|
|
75
|
-
if (priorProp === undefined) {
|
|
76
|
-
return prop;
|
|
77
|
-
}
|
|
78
|
-
if (typeof (priorProp) === BasicTypes.function) {
|
|
79
|
-
// the prop i am receiving, is already being monitored/controlled by another parent
|
|
80
|
-
if (prop.mem) {
|
|
81
|
-
priorProp.mem = prop.mem;
|
|
82
|
-
return prop;
|
|
83
|
-
}
|
|
84
|
-
priorProp.mem = prop;
|
|
85
|
-
return priorProp;
|
|
86
|
-
}
|
|
87
|
-
// prevent infinite recursion
|
|
88
|
-
if (depth === maxDepth) {
|
|
89
|
-
return prop;
|
|
90
|
-
}
|
|
91
|
-
if (isSkipPropValue(prop)) {
|
|
92
|
-
return prop; // no children to crawl through
|
|
93
|
-
}
|
|
94
|
-
if (isArray(prop)) {
|
|
95
|
-
return updateExistingArray(prop, priorProp, newSupport, ownerSupport, depth);
|
|
96
|
-
}
|
|
97
|
-
return updateExistingObject(prop, priorProp, newSupport, ownerSupport, depth, maxDepth);
|
|
98
|
-
}
|
|
99
|
-
function updateExistingObject(prop, priorProp, newSupport, ownerSupport, depth, maxDepth) {
|
|
100
|
-
const keys = Object.keys(prop);
|
|
101
|
-
for (const name of keys) {
|
|
102
|
-
const subValue = prop[name];
|
|
103
|
-
const oldProp = priorProp[name];
|
|
104
|
-
const result = syncPriorPropFunction(oldProp, subValue, newSupport, ownerSupport, maxDepth, depth + 1);
|
|
105
|
-
if (subValue === result) {
|
|
106
|
-
continue;
|
|
107
|
-
}
|
|
108
|
-
const hasSetter = Object.getOwnPropertyDescriptor(prop, name)?.set;
|
|
109
|
-
if (hasSetter) {
|
|
110
|
-
continue;
|
|
111
|
-
}
|
|
112
|
-
prop[name] = result;
|
|
113
|
-
}
|
|
114
|
-
return prop;
|
|
115
|
-
}
|
|
116
|
-
function updateExistingArray(prop, priorProp, newSupport, ownerSupport, depth) {
|
|
117
|
-
for (let index = prop.length - 1; index >= 0; --index) {
|
|
118
|
-
const x = prop[index];
|
|
119
|
-
const oldProp = priorProp[index];
|
|
120
|
-
prop[index] = syncPriorPropFunction(oldProp, x, newSupport, ownerSupport, depth + 1, index);
|
|
121
|
-
}
|
|
122
|
-
return prop;
|
|
123
|
-
}
|
|
124
74
|
export function moveProviders(lastSupport, newSupport) {
|
|
125
75
|
const global = lastSupport.subject.global;
|
|
126
76
|
let pIndex = -1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateExistingTagComponent.function.js","sourceRoot":"","sources":["../../../ts/tag/update/updateExistingTagComponent.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAK,kCAAkC,CAAA;AAE1G,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAA;AAExF,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"updateExistingTagComponent.function.js","sourceRoot":"","sources":["../../../ts/tag/update/updateExistingTagComponent.function.ts"],"names":[],"mappings":"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"}
|