@tko/build.knockout
Version:
Knockout makes it easier to create rich, responsive UIs with JavaScript
42 lines (41 loc) • 1.66 kB
JavaScript
// @tko/build.knockout 🥊 4.0.1 ESM
;
import { Builder } from "@tko/builder";
import { VirtualProvider } from "@tko/provider.virtual";
import { DataBindProvider } from "@tko/provider.databind";
import { ComponentProvider } from "@tko/provider.component";
import { AttributeProvider } from "@tko/provider.attr";
import { MultiProvider } from "@tko/provider.multi";
import { bindings as coreBindings } from "@tko/binding.core";
import { bindings as templateBindings } from "@tko/binding.template";
import { bindings as ifBindings } from "@tko/binding.if";
import { bindings as foreachBindings } from "@tko/binding.foreach";
import { bindings as componentBindings } from "@tko/binding.component";
import { filters } from "@tko/filter.punches";
import components from "@tko/utils.component";
import { functionRewrite } from "@tko/utils.functionrewrite";
import { options as defaultOptions } from "@tko/utils";
const dataBindProvider = new DataBindProvider();
const expressionRewriting = {
preProcessBindings: (s) => dataBindProvider.preProcessBindings(s)
};
const provider = new MultiProvider({
providers: [new ComponentProvider(), dataBindProvider, new VirtualProvider(), new AttributeProvider()]
});
const builder = new Builder({
provider,
bindings: [coreBindings, templateBindings, ifBindings, componentBindings, { each: foreachBindings.foreach }],
extenders: {},
filters,
options: {
bindingGlobals: defaultOptions.global,
bindingStringPreparsers: [functionRewrite]
}
});
const version = "4.0.1";
export default builder.create({
version,
components,
Component: components.ComponentABC,
expressionRewriting
});