@tko/builder 4.0.0-beta1.3 → 4.0.0-beta1.5
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/Builder.js +14 -8
- package/dist/Builder.js.map +2 -2
- package/dist/index.cjs +83 -49
- package/dist/index.cjs.map +3 -3
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
package/dist/Builder.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
// @tko/builder 🥊 4.0.0-beta1.5 ESM
|
|
2
3
|
import {
|
|
3
4
|
addDisposeCallback,
|
|
4
5
|
addOrRemoveItem,
|
|
@@ -200,14 +201,19 @@ export class Builder {
|
|
|
200
201
|
};
|
|
201
202
|
}
|
|
202
203
|
create(...additionalProperties) {
|
|
203
|
-
const instance = Object.assign(
|
|
204
|
-
|
|
205
|
-
|
|
204
|
+
const instance = Object.assign(
|
|
205
|
+
{
|
|
206
|
+
get getBindingHandler() {
|
|
207
|
+
return options.getBindingHandler;
|
|
208
|
+
},
|
|
209
|
+
set getBindingHandler(fn) {
|
|
210
|
+
options.set("getBindingHandler", fn);
|
|
211
|
+
}
|
|
206
212
|
},
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
213
|
+
knockout,
|
|
214
|
+
this.providedProperties,
|
|
215
|
+
...additionalProperties
|
|
216
|
+
);
|
|
211
217
|
instance.options.knockoutInstance = instance;
|
|
212
218
|
return instance;
|
|
213
219
|
}
|
package/dist/Builder.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/Builder.ts"],
|
|
4
4
|
"sourcesContent": ["/**\n * A class to create the global knockout instance (ko).\n */\n\nimport {\n addDisposeCallback,\n addOrRemoveItem,\n arrayFilter,\n arrayFirst,\n arrayForEach,\n arrayGetDistinctValues,\n arrayIndexOf,\n arrayMap,\n arrayPushAll,\n arrayRemoveItem,\n addCleaner,\n cleanNode,\n cloneNodes,\n compareArrays,\n createSymbolOrString,\n domData,\n extend,\n memoization,\n objectForEach,\n objectMap,\n options,\n parseHtmlFragment,\n parseJson,\n range,\n registerEventHandler,\n removeCleaner,\n removeDisposeCallback,\n removeNode,\n selectExtensions,\n setHtml,\n setTextContent,\n tasks,\n toggleDomNodeCssClass,\n triggerEvent,\n virtualElements\n} from '@tko/utils'\n\nimport {\n parseObjectLiteral\n} from '@tko/utils.parser'\n\nimport {\n LifeCycle\n} from '@tko/lifecycle'\n\nimport {\n // applyExtenders,\n // arrayChangeEventName,\n // deferUpdates,\n dependencyDetection,\n extenders as defaultExtenders,\n isObservable,\n isSubscribable,\n isWriteableObservable,\n observable,\n observableArray,\n isObservableArray,\n peek,\n subscribable,\n toJS,\n toJSON,\n unwrap\n} from '@tko/observable'\n\nimport {\n computed,\n isComputed,\n isPureComputed,\n proxy,\n pureComputed,\n when\n} from '@tko/computed'\n\nimport {\n applyBindingAccessorsToNode,\n applyBindings,\n applyBindingsToDescendants,\n applyBindingsToNode,\n contextFor,\n dataFor,\n bindingEvent,\n BindingHandler,\n AsyncBindingHandler,\n setDomNodeChildrenFromArrayMapping\n} from '@tko/bind'\n\nimport {\n anonymousTemplate,\n domElement,\n nativeTemplateEngine,\n renderTemplate,\n setTemplateEngine,\n templateEngine\n // templateSources\n} from '@tko/binding.template'\n\nconst domNodeDisposal = {\n addDisposeCallback,\n removeDisposeCallback,\n removeNode,\n addCleaner,\n removeCleaner,\n get cleanExternalData () {\n return options.cleanExternalData\n },\n set cleanExternalData (cleanerFn) {\n options.set('cleanExternalData', cleanerFn)\n }\n}\n\nconst utils = Object.assign({\n addOrRemoveItem,\n arrayFilter,\n arrayFirst,\n arrayForEach,\n arrayGetDistinctValues,\n arrayIndexOf,\n arrayMap,\n arrayPushAll,\n arrayRemoveItem,\n cloneNodes,\n compareArrays,\n createSymbolOrString,\n domData,\n domNodeDisposal,\n extend,\n filters: options.filters,\n objectForEach,\n objectMap,\n parseHtmlFragment,\n parseJson,\n parseObjectLiteral,\n peekObservable: peek,\n range,\n registerEventHandler,\n setDomNodeChildrenFromArrayMapping,\n setHtml,\n setTextContent,\n toggleDomNodeCssClass,\n triggerEvent,\n unwrapObservable: unwrap\n})\n\nconst knockout = {\n // --- Utilities ---\n cleanNode,\n dependencyDetection,\n computedContext: dependencyDetection,\n filters: options.filters,\n ignoreDependencies: dependencyDetection.ignore,\n memoization,\n options,\n removeNode,\n selectExtensions,\n tasks,\n utils,\n LifeCycle,\n\n // -- Observable ---\n isObservable,\n isSubscribable,\n isWriteableObservable,\n isWritableObservable: isWriteableObservable,\n observable,\n observableArray,\n isObservableArray,\n peek,\n subscribable,\n unwrap,\n toJS,\n toJSON,\n proxy,\n\n // ... Computed ...\n computed,\n dependentObservable: computed,\n isComputed,\n isPureComputed,\n pureComputed,\n when: when,\n\n // --- Templates ---\n nativeTemplateEngine,\n renderTemplate,\n setTemplateEngine,\n templateEngine,\n templateSources: { domElement, anonymousTemplate },\n\n // --- Binding ---\n applyBindingAccessorsToNode,\n applyBindings,\n applyBindingsToDescendants,\n applyBindingsToNode,\n contextFor,\n dataFor,\n BindingHandler,\n AsyncBindingHandler,\n virtualElements,\n domNodeDisposal,\n bindingEvent,\n}\n\nexport class Builder {\n constructor ({ provider, bindings, extenders, filters, options }) {\n Object.assign(knockout.options, options, {\n filters,\n bindingProviderInstance: provider\n })\n\n provider.setGlobals(knockout.options.bindingGlobals)\n\n if (Array.isArray(bindings)) {\n for (const bindingsObject of bindings) {\n provider.bindingHandlers.set(bindingsObject)\n }\n } else {\n provider.bindingHandlers.set(bindings)\n }\n\n this.providedProperties = {\n extenders: Object.assign(defaultExtenders, extenders),\n bindingHandlers: provider.bindingHandlers,\n bindingProvider: provider\n }\n }\n\n /**\n * @return {Object} An instance of Knockout.\n */\n create (...additionalProperties) {\n const instance = Object.assign({\n get getBindingHandler () { return options.getBindingHandler },\n set getBindingHandler (fn) { options.set('getBindingHandler', fn) }\n },\n knockout,\n this.providedProperties,\n ...additionalProperties)\n instance.options.knockoutInstance = instance\n return instance\n }\n}\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": []
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["options"]
|
|
7
7
|
}
|
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
// @tko/builder 🥊 4.0.0-beta1.5 CommonJS
|
|
2
3
|
var __defProp = Object.defineProperty;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -2009,6 +2010,7 @@ function visitPropertiesOrArrayEntries(rootObject, visitorCallback) {
|
|
|
2009
2010
|
}
|
|
2010
2011
|
|
|
2011
2012
|
// ../utils.parser/dist/operators.js
|
|
2013
|
+
var __pow = Math.pow;
|
|
2012
2014
|
function LAMBDA() {
|
|
2013
2015
|
}
|
|
2014
2016
|
function unwrapOrCall(a, b) {
|
|
@@ -2033,6 +2035,9 @@ var operators = {
|
|
|
2033
2035
|
"--": function preinc2(a, b) {
|
|
2034
2036
|
return --b;
|
|
2035
2037
|
},
|
|
2038
|
+
"**": function exp(a, b) {
|
|
2039
|
+
return __pow(a, b);
|
|
2040
|
+
},
|
|
2036
2041
|
"*": function mul(a, b) {
|
|
2037
2042
|
return a * b;
|
|
2038
2043
|
},
|
|
@@ -2090,11 +2095,17 @@ var operators = {
|
|
|
2090
2095
|
"||": function logicOr(a, b) {
|
|
2091
2096
|
return a || b;
|
|
2092
2097
|
},
|
|
2098
|
+
"??": function nullishCoalesce(a, b) {
|
|
2099
|
+
return a != null ? a : b;
|
|
2100
|
+
},
|
|
2093
2101
|
".": function member(a, b) {
|
|
2094
|
-
return a[b];
|
|
2102
|
+
return a == null ? void 0 : a[b];
|
|
2103
|
+
},
|
|
2104
|
+
"?.": function omember(a, b) {
|
|
2105
|
+
return a == null ? void 0 : a[b];
|
|
2095
2106
|
},
|
|
2096
|
-
"[": function
|
|
2097
|
-
return a[b];
|
|
2107
|
+
"[": function bmember(a, b) {
|
|
2108
|
+
return a == null ? void 0 : a[b];
|
|
2098
2109
|
},
|
|
2099
2110
|
",": function comma(a, b) {
|
|
2100
2111
|
return b;
|
|
@@ -2107,11 +2118,13 @@ operators["@"].precedence = 21;
|
|
|
2107
2118
|
operators["#"].precedence = 21;
|
|
2108
2119
|
operators["."].precedence = 19;
|
|
2109
2120
|
operators["["].precedence = 19;
|
|
2121
|
+
operators["?."].precedence = 19;
|
|
2110
2122
|
operators["!"].precedence = 16;
|
|
2111
2123
|
operators["!!"].precedence = 16;
|
|
2112
2124
|
operators["++"].precedence = 16;
|
|
2113
2125
|
operators["--"].precedence = 16;
|
|
2114
2126
|
operators["&-"].precedence = 16;
|
|
2127
|
+
operators["**"].precedent = 15;
|
|
2115
2128
|
operators["%"].precedence = 14;
|
|
2116
2129
|
operators["*"].precedence = 14;
|
|
2117
2130
|
operators["/"].precedence = 14;
|
|
@@ -2130,8 +2143,10 @@ operators["==="].precedence = 10;
|
|
|
2130
2143
|
operators["!=="].precedence = 10;
|
|
2131
2144
|
operators["&&"].precedence = 6;
|
|
2132
2145
|
operators["||"].precedence = 5;
|
|
2146
|
+
operators["??"].precedence = 5;
|
|
2133
2147
|
operators["&&"].earlyOut = (a) => !a;
|
|
2134
2148
|
operators["||"].earlyOut = (a) => a;
|
|
2149
|
+
operators["??"].earlyOut = (a) => a;
|
|
2135
2150
|
operators[","].precedence = 2;
|
|
2136
2151
|
operators["call"].precedence = 1;
|
|
2137
2152
|
operators["=>"].precedence = 1;
|
|
@@ -2260,24 +2275,24 @@ var Identifier = class {
|
|
|
2260
2275
|
this.parser = parser;
|
|
2261
2276
|
}
|
|
2262
2277
|
dereference(value, $context, globals, node) {
|
|
2263
|
-
let
|
|
2278
|
+
let member2;
|
|
2264
2279
|
let refs = this.dereferences || [];
|
|
2265
2280
|
const $data = $context.$data || {};
|
|
2266
2281
|
let lastValue;
|
|
2267
2282
|
let i, n;
|
|
2268
2283
|
for (i = 0, n = refs.length; i < n; ++i) {
|
|
2269
|
-
|
|
2284
|
+
member2 = Node.value_of(refs[i], $context, globals, node);
|
|
2270
2285
|
if (typeof value === "function" && refs[i] instanceof Arguments) {
|
|
2271
|
-
value = value.apply(lastValue || $data,
|
|
2286
|
+
value = value.apply(lastValue || $data, member2);
|
|
2272
2287
|
lastValue = value;
|
|
2273
2288
|
} else if (value === null || value === void 0) {
|
|
2274
|
-
|
|
2289
|
+
return value;
|
|
2275
2290
|
} else {
|
|
2276
2291
|
lastValue = value;
|
|
2277
|
-
value = Node.value_of(value[
|
|
2292
|
+
value = Node.value_of(value[member2], $context, globals, node);
|
|
2278
2293
|
}
|
|
2279
2294
|
}
|
|
2280
|
-
if (typeof value === "function" && n > 0 && lastValue !== value && !hasOwnProperty(lastValue,
|
|
2295
|
+
if (typeof value === "function" && n > 0 && lastValue !== value && !hasOwnProperty(lastValue, member2)) {
|
|
2281
2296
|
return value.bind(lastValue);
|
|
2282
2297
|
}
|
|
2283
2298
|
return value;
|
|
@@ -3517,13 +3532,17 @@ function applyBindingsToNodeInternal(node, sourceBindings, bindingContext2, asyn
|
|
|
3517
3532
|
const provider = getBindingProvider();
|
|
3518
3533
|
const getBindings = provider.getBindingAccessors;
|
|
3519
3534
|
if (isProviderForNode(provider, node)) {
|
|
3520
|
-
var bindingsUpdater = computed(
|
|
3521
|
-
|
|
3522
|
-
|
|
3523
|
-
bindingContext2[contextSubscribeSymbol]
|
|
3524
|
-
|
|
3525
|
-
|
|
3526
|
-
|
|
3535
|
+
var bindingsUpdater = computed(
|
|
3536
|
+
function() {
|
|
3537
|
+
bindings = sourceBindings ? sourceBindings(bindingContext2, node) : getBindings.call(provider, node, bindingContext2);
|
|
3538
|
+
if (bindings && bindingContext2[contextSubscribeSymbol]) {
|
|
3539
|
+
bindingContext2[contextSubscribeSymbol]();
|
|
3540
|
+
}
|
|
3541
|
+
return bindings;
|
|
3542
|
+
},
|
|
3543
|
+
null,
|
|
3544
|
+
{ disposeWhenNodeIsRemoved: node }
|
|
3545
|
+
);
|
|
3527
3546
|
if (!bindings || !bindingsUpdater.isActive()) {
|
|
3528
3547
|
bindingsUpdater = null;
|
|
3529
3548
|
}
|
|
@@ -3531,9 +3550,10 @@ function applyBindingsToNodeInternal(node, sourceBindings, bindingContext2, asyn
|
|
|
3531
3550
|
}
|
|
3532
3551
|
var bindingHandlerThatControlsDescendantBindings;
|
|
3533
3552
|
if (bindings) {
|
|
3534
|
-
let
|
|
3553
|
+
let allBindings2 = function() {
|
|
3535
3554
|
return objectMap(bindingsUpdater ? bindingsUpdater() : bindings, evaluateValueAccessor);
|
|
3536
3555
|
};
|
|
3556
|
+
var allBindings = allBindings2;
|
|
3537
3557
|
const $component = bindingContext2.$component || {};
|
|
3538
3558
|
const allBindingHandlers = {};
|
|
3539
3559
|
data_exports.set(node, "bindingHandlers", allBindingHandlers);
|
|
@@ -3545,8 +3565,8 @@ function applyBindingsToNodeInternal(node, sourceBindings, bindingContext2, asyn
|
|
|
3545
3565
|
return valueAccessor(optionalValue);
|
|
3546
3566
|
}
|
|
3547
3567
|
} : (bindingKey) => bindings[bindingKey];
|
|
3548
|
-
|
|
3549
|
-
|
|
3568
|
+
allBindings2.has = (key) => key in bindings;
|
|
3569
|
+
allBindings2.get = (key) => bindings[key] && evaluateValueAccessor(getValueAccessor(key));
|
|
3550
3570
|
if (bindingEvent.childrenComplete in bindings) {
|
|
3551
3571
|
bindingEvent.subscribe(node, bindingEvent.childrenComplete, () => {
|
|
3552
3572
|
const callback = evaluateValueAccessor(bindings[bindingEvent.childrenComplete]);
|
|
@@ -3562,33 +3582,38 @@ function applyBindingsToNodeInternal(node, sourceBindings, bindingContext2, asyn
|
|
|
3562
3582
|
const bindingsGenerated = topologicalSortBindings(bindings, $component);
|
|
3563
3583
|
const nodeAsyncBindingPromises = /* @__PURE__ */ new Set();
|
|
3564
3584
|
for (const [key, BindingHandlerClass] of bindingsGenerated) {
|
|
3565
|
-
let
|
|
3585
|
+
let reportBindingError2 = function(during, errorCaptured) {
|
|
3566
3586
|
onBindingError({
|
|
3567
3587
|
during,
|
|
3568
3588
|
errorCaptured,
|
|
3569
3589
|
bindings,
|
|
3570
|
-
allBindings,
|
|
3590
|
+
allBindings: allBindings2,
|
|
3571
3591
|
bindingKey: key,
|
|
3572
3592
|
bindingContext: bindingContext2,
|
|
3573
3593
|
element: node,
|
|
3574
3594
|
valueAccessor: getValueAccessor(key)
|
|
3575
3595
|
});
|
|
3576
3596
|
};
|
|
3597
|
+
var reportBindingError = reportBindingError2;
|
|
3577
3598
|
if (node.nodeType === 8 && !BindingHandlerClass.allowVirtualElements) {
|
|
3578
3599
|
throw new Error(`The binding '${key}' cannot be used with virtual elements`);
|
|
3579
3600
|
}
|
|
3580
3601
|
try {
|
|
3581
|
-
const bindingHandler = dependencyDetection_exports.ignore(
|
|
3582
|
-
|
|
3583
|
-
|
|
3584
|
-
|
|
3585
|
-
|
|
3586
|
-
|
|
3587
|
-
|
|
3588
|
-
|
|
3589
|
-
|
|
3602
|
+
const bindingHandler = dependencyDetection_exports.ignore(
|
|
3603
|
+
() => new BindingHandlerClass({
|
|
3604
|
+
allBindings: allBindings2,
|
|
3605
|
+
$element: node,
|
|
3606
|
+
$context: bindingContext2,
|
|
3607
|
+
onError: reportBindingError2,
|
|
3608
|
+
valueAccessor(...v) {
|
|
3609
|
+
return getValueAccessor(key)(...v);
|
|
3610
|
+
}
|
|
3611
|
+
})
|
|
3612
|
+
);
|
|
3590
3613
|
if (bindingHandler.onValueChange) {
|
|
3591
|
-
dependencyDetection_exports.ignore(
|
|
3614
|
+
dependencyDetection_exports.ignore(
|
|
3615
|
+
() => bindingHandler.computed("onValueChange")
|
|
3616
|
+
);
|
|
3592
3617
|
}
|
|
3593
3618
|
allBindingHandlers[key] = bindingHandler;
|
|
3594
3619
|
if (bindingHandler.controlsDescendants) {
|
|
@@ -3602,7 +3627,7 @@ function applyBindingsToNodeInternal(node, sourceBindings, bindingContext2, asyn
|
|
|
3602
3627
|
nodeAsyncBindingPromises.add(bindingHandler.bindingCompleted);
|
|
3603
3628
|
}
|
|
3604
3629
|
} catch (err) {
|
|
3605
|
-
|
|
3630
|
+
reportBindingError2("creation", err);
|
|
3606
3631
|
}
|
|
3607
3632
|
}
|
|
3608
3633
|
triggerDescendantsComplete(node, bindings, nodeAsyncBindingPromises);
|
|
@@ -4068,15 +4093,19 @@ function renderTemplate(template, dataOrBindingContext, options2, targetNodeOrNo
|
|
|
4068
4093
|
return !firstTargetNode || !domNodeIsAttachedToDocument(firstTargetNode);
|
|
4069
4094
|
};
|
|
4070
4095
|
var activelyDisposeWhenNodeIsRemoved = firstTargetNode && renderMode === "replaceNode" ? firstTargetNode.parentNode : firstTargetNode;
|
|
4071
|
-
return computed(
|
|
4072
|
-
|
|
4073
|
-
|
|
4074
|
-
|
|
4075
|
-
|
|
4076
|
-
|
|
4077
|
-
|
|
4078
|
-
|
|
4079
|
-
|
|
4096
|
+
return computed(
|
|
4097
|
+
function() {
|
|
4098
|
+
var bindingContext2 = dataOrBindingContext && dataOrBindingContext instanceof bindingContext ? dataOrBindingContext : new bindingContext(dataOrBindingContext, null, null, null, { "exportDependencies": true });
|
|
4099
|
+
var templateName = resolveTemplateName(template, bindingContext2.$data, bindingContext2);
|
|
4100
|
+
const renderedNodesArray = executeTemplate(targetNodeOrNodeArray, renderMode, templateName, bindingContext2, options2, afterBindingCallback);
|
|
4101
|
+
if (renderMode === "replaceNode") {
|
|
4102
|
+
targetNodeOrNodeArray = renderedNodesArray;
|
|
4103
|
+
firstTargetNode = getFirstNodeFromPossibleArray(targetNodeOrNodeArray);
|
|
4104
|
+
}
|
|
4105
|
+
},
|
|
4106
|
+
null,
|
|
4107
|
+
{ disposeWhen: whenToDispose, disposeWhenNodeIsRemoved: activelyDisposeWhenNodeIsRemoved }
|
|
4108
|
+
);
|
|
4080
4109
|
} else {
|
|
4081
4110
|
return memoization_exports.memoize(function(domNode) {
|
|
4082
4111
|
renderTemplate(template, dataOrBindingContext, options2, domNode, "replaceNode");
|
|
@@ -4218,14 +4247,19 @@ var Builder = class {
|
|
|
4218
4247
|
};
|
|
4219
4248
|
}
|
|
4220
4249
|
create(...additionalProperties) {
|
|
4221
|
-
const instance = Object.assign(
|
|
4222
|
-
|
|
4223
|
-
|
|
4250
|
+
const instance = Object.assign(
|
|
4251
|
+
{
|
|
4252
|
+
get getBindingHandler() {
|
|
4253
|
+
return options_default.getBindingHandler;
|
|
4254
|
+
},
|
|
4255
|
+
set getBindingHandler(fn) {
|
|
4256
|
+
options_default.set("getBindingHandler", fn);
|
|
4257
|
+
}
|
|
4224
4258
|
},
|
|
4225
|
-
|
|
4226
|
-
|
|
4227
|
-
|
|
4228
|
-
|
|
4259
|
+
knockout,
|
|
4260
|
+
this.providedProperties,
|
|
4261
|
+
...additionalProperties
|
|
4262
|
+
);
|
|
4229
4263
|
instance.options.knockoutInstance = instance;
|
|
4230
4264
|
return instance;
|
|
4231
4265
|
}
|