@tko/builder 4.0.0-alpha8.1 → 4.0.0-beta1.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.
@@ -0,0 +1,214 @@
1
+ // @tko/builder 🥊 4.0.0-beta1.0 ESM
2
+ import {
3
+ addDisposeCallback,
4
+ addOrRemoveItem,
5
+ arrayFilter,
6
+ arrayFirst,
7
+ arrayForEach,
8
+ arrayGetDistinctValues,
9
+ arrayIndexOf,
10
+ arrayMap,
11
+ arrayPushAll,
12
+ arrayRemoveItem,
13
+ addCleaner,
14
+ cleanNode,
15
+ cloneNodes,
16
+ compareArrays,
17
+ createSymbolOrString,
18
+ domData,
19
+ extend,
20
+ memoization,
21
+ objectForEach,
22
+ objectMap,
23
+ options,
24
+ parseHtmlFragment,
25
+ parseJson,
26
+ range,
27
+ registerEventHandler,
28
+ removeCleaner,
29
+ removeDisposeCallback,
30
+ removeNode,
31
+ selectExtensions,
32
+ setHtml,
33
+ setTextContent,
34
+ tasks,
35
+ toggleDomNodeCssClass,
36
+ triggerEvent,
37
+ virtualElements
38
+ } from "@tko/utils";
39
+ import {
40
+ parseObjectLiteral
41
+ } from "@tko/utils.parser";
42
+ import {
43
+ LifeCycle
44
+ } from "@tko/lifecycle";
45
+ import {
46
+ dependencyDetection,
47
+ extenders as defaultExtenders,
48
+ isObservable,
49
+ isSubscribable,
50
+ isWriteableObservable,
51
+ observable,
52
+ observableArray,
53
+ isObservableArray,
54
+ peek,
55
+ subscribable,
56
+ toJS,
57
+ toJSON,
58
+ unwrap
59
+ } from "@tko/observable";
60
+ import {
61
+ computed,
62
+ isComputed,
63
+ isPureComputed,
64
+ proxy,
65
+ pureComputed,
66
+ when
67
+ } from "@tko/computed";
68
+ import {
69
+ applyBindingAccessorsToNode,
70
+ applyBindings,
71
+ applyBindingsToDescendants,
72
+ applyBindingsToNode,
73
+ contextFor,
74
+ dataFor,
75
+ bindingEvent,
76
+ BindingHandler,
77
+ AsyncBindingHandler,
78
+ setDomNodeChildrenFromArrayMapping
79
+ } from "@tko/bind";
80
+ import {
81
+ anonymousTemplate,
82
+ domElement,
83
+ nativeTemplateEngine,
84
+ renderTemplate,
85
+ setTemplateEngine,
86
+ templateEngine
87
+ } from "@tko/binding.template";
88
+ const domNodeDisposal = {
89
+ addDisposeCallback,
90
+ removeDisposeCallback,
91
+ removeNode,
92
+ addCleaner,
93
+ removeCleaner,
94
+ get cleanExternalData() {
95
+ return options.cleanExternalData;
96
+ },
97
+ set cleanExternalData(cleanerFn) {
98
+ options.set("cleanExternalData", cleanerFn);
99
+ }
100
+ };
101
+ const utils = Object.assign({
102
+ addOrRemoveItem,
103
+ arrayFilter,
104
+ arrayFirst,
105
+ arrayForEach,
106
+ arrayGetDistinctValues,
107
+ arrayIndexOf,
108
+ arrayMap,
109
+ arrayPushAll,
110
+ arrayRemoveItem,
111
+ cloneNodes,
112
+ compareArrays,
113
+ createSymbolOrString,
114
+ domData,
115
+ domNodeDisposal,
116
+ extend,
117
+ filters: options.filters,
118
+ objectForEach,
119
+ objectMap,
120
+ parseHtmlFragment,
121
+ parseJson,
122
+ parseObjectLiteral,
123
+ peekObservable: peek,
124
+ range,
125
+ registerEventHandler,
126
+ setDomNodeChildrenFromArrayMapping,
127
+ setHtml,
128
+ setTextContent,
129
+ toggleDomNodeCssClass,
130
+ triggerEvent,
131
+ unwrapObservable: unwrap
132
+ });
133
+ const knockout = {
134
+ cleanNode,
135
+ dependencyDetection,
136
+ computedContext: dependencyDetection,
137
+ filters: options.filters,
138
+ ignoreDependencies: dependencyDetection.ignore,
139
+ memoization,
140
+ options,
141
+ removeNode,
142
+ selectExtensions,
143
+ tasks,
144
+ utils,
145
+ LifeCycle,
146
+ isObservable,
147
+ isSubscribable,
148
+ isWriteableObservable,
149
+ isWritableObservable: isWriteableObservable,
150
+ observable,
151
+ observableArray,
152
+ isObservableArray,
153
+ peek,
154
+ subscribable,
155
+ unwrap,
156
+ toJS,
157
+ toJSON,
158
+ proxy,
159
+ computed,
160
+ dependentObservable: computed,
161
+ isComputed,
162
+ isPureComputed,
163
+ pureComputed,
164
+ when,
165
+ nativeTemplateEngine,
166
+ renderTemplate,
167
+ setTemplateEngine,
168
+ templateEngine,
169
+ templateSources: { domElement, anonymousTemplate },
170
+ applyBindingAccessorsToNode,
171
+ applyBindings,
172
+ applyBindingsToDescendants,
173
+ applyBindingsToNode,
174
+ contextFor,
175
+ dataFor,
176
+ BindingHandler,
177
+ AsyncBindingHandler,
178
+ virtualElements,
179
+ domNodeDisposal,
180
+ bindingEvent
181
+ };
182
+ export class Builder {
183
+ constructor({ provider, bindings, extenders, filters, options: options2 }) {
184
+ Object.assign(knockout.options, options2, {
185
+ filters,
186
+ bindingProviderInstance: provider
187
+ });
188
+ provider.setGlobals(knockout.options.bindingGlobals);
189
+ if (Array.isArray(bindings)) {
190
+ for (const bindingsObject of bindings) {
191
+ provider.bindingHandlers.set(bindingsObject);
192
+ }
193
+ } else {
194
+ provider.bindingHandlers.set(bindings);
195
+ }
196
+ this.providedProperties = {
197
+ extenders: Object.assign(defaultExtenders, extenders),
198
+ bindingHandlers: provider.bindingHandlers,
199
+ bindingProvider: provider
200
+ };
201
+ }
202
+ create(...additionalProperties) {
203
+ const instance = Object.assign({
204
+ get getBindingHandler() {
205
+ return options.getBindingHandler;
206
+ },
207
+ set getBindingHandler(fn) {
208
+ options.set("getBindingHandler", fn);
209
+ }
210
+ }, knockout, this.providedProperties, ...additionalProperties);
211
+ instance.options.knockoutInstance = instance;
212
+ return instance;
213
+ }
214
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/Builder.ts"],
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": "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",
6
+ "names": []
7
+ }