@slickgrid-universal/binding 2.4.0 → 2.6.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.
@@ -1,143 +1,143 @@
1
- var _a;
2
- /* eslint-disable no-bitwise */
3
- import * as DOMPurify_ from 'dompurify';
4
- const DOMPurify = ((_a = DOMPurify_ === null || DOMPurify_ === void 0 ? void 0 : DOMPurify_['default']) !== null && _a !== void 0 ? _a : DOMPurify_); // patch for rollup
5
- /**
6
- * Create 2 way Bindings for any variable that are primitive or object types, when it's an object type it will watch for property changes
7
- * The following 2 articles helped in building this service:
8
- * 1- https://blog.jeremylikness.com/blog/client-side-javascript-databinding-without-a-framework/
9
- * 2- https://www.wintellect.com/data-binding-pure-javascript/
10
- */
11
- export class BindingService {
12
- constructor(binding) {
13
- this._value = null;
14
- this._boundedEventWithListeners = [];
15
- this._elementBindings = [];
16
- this._binding = binding;
17
- this._property = binding.property || '';
18
- this._elementBindings = [];
19
- if (binding.property && binding.variable && (binding.variable.hasOwnProperty(binding.property) || binding.property in binding.variable)) {
20
- this._value = typeof binding.variable[binding.property] === 'string' ? this.sanitizeText(binding.variable[binding.property]) : binding.variable[binding.property];
21
- }
22
- else {
23
- this._value = typeof binding.variable === 'string' ? this.sanitizeText(binding.variable) : binding.variable;
24
- }
25
- if (typeof binding.variable === 'object') {
26
- Object.defineProperty(binding.variable, binding.property, {
27
- get: this.valueGetter.bind(this),
28
- set: this.valueSetter.bind(this)
29
- });
30
- }
31
- }
32
- get boundedEventWithListeners() {
33
- return this._boundedEventWithListeners;
34
- }
35
- get elementBindings() {
36
- return this._elementBindings;
37
- }
38
- get property() {
39
- return this._property;
40
- }
41
- dispose() {
42
- this.unbindAll();
43
- this._boundedEventWithListeners = [];
44
- this._elementBindings = [];
45
- }
46
- valueGetter() {
47
- return this._value;
48
- }
49
- valueSetter(val) {
50
- this._value = typeof val === 'string' ? this.sanitizeText(val) : val;
51
- if (Array.isArray(this._elementBindings)) {
52
- for (const binding of this._elementBindings) {
53
- if ((binding === null || binding === void 0 ? void 0 : binding.element) && (binding === null || binding === void 0 ? void 0 : binding.attribute)) {
54
- binding.element[binding.attribute] = typeof val === 'string' ? this.sanitizeText(val) : val;
55
- }
56
- }
57
- }
58
- }
59
- /**
60
- * Add binding to 1 or more DOM Element by an object attribute and optionally on an event, we can do it in couple ways
61
- * 1- if there's no event provided, it will simply replace the DOM elemnt (by an attribute), for example an innerHTML
62
- * 2- when an event is provided, we will replace the DOM element (by an attribute) every time an event is triggered
63
- * 2.1- we could also provide an extra callback method to execute when the event gets triggered
64
- */
65
- bind(elements, attribute, eventName, eventCallback) {
66
- if (elements && elements.forEach) {
67
- // multiple DOM elements coming from a querySelectorAll() call
68
- elements.forEach(elm => this.bindSingleElement(elm, attribute, eventName, eventCallback));
69
- }
70
- else if (elements) {
71
- // single DOM element coming from a querySelector() call
72
- this.bindSingleElement(elements, attribute, eventName, eventCallback);
73
- }
74
- return this;
75
- }
76
- /** Unbind (remove) an element event listener */
77
- unbind(element, eventName, listener, options, eventUid) {
78
- if (element) {
79
- element.removeEventListener(eventName, listener, options);
80
- const eventIdx = this._boundedEventWithListeners.findIndex(be => be.uid === eventUid);
81
- if (eventIdx >= 0) {
82
- this._boundedEventWithListeners.splice(eventIdx, 1);
83
- }
84
- }
85
- }
86
- /** Unbind All (remove) bounded elements with listeners */
87
- unbindAll() {
88
- let boundedEvent = this._boundedEventWithListeners.pop();
89
- while (boundedEvent) {
90
- const { element, eventName, listener, uid } = boundedEvent;
91
- this.unbind(element, eventName, listener, undefined, uid);
92
- boundedEvent = this._boundedEventWithListeners.pop();
93
- }
94
- this._boundedEventWithListeners = [];
95
- }
96
- /**
97
- * Add binding to a single element by an object attribute and optionally on an event, we can do it in couple ways
98
- * 1- if there's no event provided, it will simply replace the DOM element (by an attribute), for example an innerHTML
99
- * 2- when an event is provided, we will replace the DOM element (by an attribute) every time an event is triggered
100
- * 2.1- we could also provide an extra callback method to execute when the event gets triggered
101
- */
102
- bindSingleElement(element, attribute, eventName, eventCallback) {
103
- const binding = { element, attribute };
104
- if (element) {
105
- if (eventName) {
106
- const listener = () => {
107
- let elmValue = element[attribute];
108
- if (this.hasData(elmValue) && (element === null || element === void 0 ? void 0 : element.type) === 'number') {
109
- elmValue = +elmValue; // input is always string but we can parse to number when its type is number
110
- }
111
- this.valueSetter(elmValue);
112
- if (this._binding.variable.hasOwnProperty(this._binding.property) || this._binding.property in this._binding.variable) {
113
- this._binding.variable[this._binding.property] = this.valueGetter();
114
- }
115
- if (typeof eventCallback === 'function') {
116
- return eventCallback(this.valueGetter());
117
- }
118
- };
119
- binding.event = eventName;
120
- binding.listener = listener;
121
- element.addEventListener(eventName, listener);
122
- this._boundedEventWithListeners.push({ element, eventName, listener, uid: this.generateUuidV4() });
123
- }
124
- this._elementBindings.push(binding);
125
- element[attribute] = typeof this._value === 'string' ? this.sanitizeText(this._value) : this._value;
126
- }
127
- }
128
- /** Generate a UUID version 4 RFC compliant */
129
- generateUuidV4() {
130
- return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
131
- const r = Math.random() * 16 | 0;
132
- const v = c === 'x' ? r : (r & 0x3 | 0x8);
133
- return v.toString(16);
134
- });
135
- }
136
- hasData(value) {
137
- return value !== undefined && value !== null && value !== '';
138
- }
139
- sanitizeText(dirtyText) {
140
- return (DOMPurify === null || DOMPurify === void 0 ? void 0 : DOMPurify.sanitize) ? DOMPurify.sanitize(dirtyText, {}) : dirtyText;
141
- }
142
- }
1
+ var _a;
2
+ /* eslint-disable no-bitwise */
3
+ import * as DOMPurify_ from 'dompurify';
4
+ const DOMPurify = ((_a = DOMPurify_ === null || DOMPurify_ === void 0 ? void 0 : DOMPurify_['default']) !== null && _a !== void 0 ? _a : DOMPurify_); // patch for rollup
5
+ /**
6
+ * Create 2 way Bindings for any variable that are primitive or object types, when it's an object type it will watch for property changes
7
+ * The following 2 articles helped in building this service:
8
+ * 1- https://blog.jeremylikness.com/blog/client-side-javascript-databinding-without-a-framework/
9
+ * 2- https://www.wintellect.com/data-binding-pure-javascript/
10
+ */
11
+ export class BindingService {
12
+ constructor(binding) {
13
+ this._value = null;
14
+ this._boundedEventWithListeners = [];
15
+ this._elementBindings = [];
16
+ this._binding = binding;
17
+ this._property = binding.property || '';
18
+ this._elementBindings = [];
19
+ if (binding.property && binding.variable && (binding.variable.hasOwnProperty(binding.property) || binding.property in binding.variable)) {
20
+ this._value = typeof binding.variable[binding.property] === 'string' ? this.sanitizeText(binding.variable[binding.property]) : binding.variable[binding.property];
21
+ }
22
+ else {
23
+ this._value = typeof binding.variable === 'string' ? this.sanitizeText(binding.variable) : binding.variable;
24
+ }
25
+ if (typeof binding.variable === 'object') {
26
+ Object.defineProperty(binding.variable, binding.property, {
27
+ get: this.valueGetter.bind(this),
28
+ set: this.valueSetter.bind(this)
29
+ });
30
+ }
31
+ }
32
+ get boundedEventWithListeners() {
33
+ return this._boundedEventWithListeners;
34
+ }
35
+ get elementBindings() {
36
+ return this._elementBindings;
37
+ }
38
+ get property() {
39
+ return this._property;
40
+ }
41
+ dispose() {
42
+ this.unbindAll();
43
+ this._boundedEventWithListeners = [];
44
+ this._elementBindings = [];
45
+ }
46
+ valueGetter() {
47
+ return this._value;
48
+ }
49
+ valueSetter(val) {
50
+ this._value = typeof val === 'string' ? this.sanitizeText(val) : val;
51
+ if (Array.isArray(this._elementBindings)) {
52
+ for (const binding of this._elementBindings) {
53
+ if ((binding === null || binding === void 0 ? void 0 : binding.element) && (binding === null || binding === void 0 ? void 0 : binding.attribute)) {
54
+ binding.element[binding.attribute] = typeof val === 'string' ? this.sanitizeText(val) : val;
55
+ }
56
+ }
57
+ }
58
+ }
59
+ /**
60
+ * Add binding to 1 or more DOM Element by an object attribute and optionally on an event, we can do it in couple ways
61
+ * 1- if there's no event provided, it will simply replace the DOM elemnt (by an attribute), for example an innerHTML
62
+ * 2- when an event is provided, we will replace the DOM element (by an attribute) every time an event is triggered
63
+ * 2.1- we could also provide an extra callback method to execute when the event gets triggered
64
+ */
65
+ bind(elements, attribute, eventName, eventCallback) {
66
+ if (elements && elements.forEach) {
67
+ // multiple DOM elements coming from a querySelectorAll() call
68
+ elements.forEach(elm => this.bindSingleElement(elm, attribute, eventName, eventCallback));
69
+ }
70
+ else if (elements) {
71
+ // single DOM element coming from a querySelector() call
72
+ this.bindSingleElement(elements, attribute, eventName, eventCallback);
73
+ }
74
+ return this;
75
+ }
76
+ /** Unbind (remove) an element event listener */
77
+ unbind(element, eventName, listener, options, eventUid) {
78
+ if (element) {
79
+ element.removeEventListener(eventName, listener, options);
80
+ const eventIdx = this._boundedEventWithListeners.findIndex(be => be.uid === eventUid);
81
+ if (eventIdx >= 0) {
82
+ this._boundedEventWithListeners.splice(eventIdx, 1);
83
+ }
84
+ }
85
+ }
86
+ /** Unbind All (remove) bounded elements with listeners */
87
+ unbindAll() {
88
+ let boundedEvent = this._boundedEventWithListeners.pop();
89
+ while (boundedEvent) {
90
+ const { element, eventName, listener, uid } = boundedEvent;
91
+ this.unbind(element, eventName, listener, undefined, uid);
92
+ boundedEvent = this._boundedEventWithListeners.pop();
93
+ }
94
+ this._boundedEventWithListeners = [];
95
+ }
96
+ /**
97
+ * Add binding to a single element by an object attribute and optionally on an event, we can do it in couple ways
98
+ * 1- if there's no event provided, it will simply replace the DOM element (by an attribute), for example an innerHTML
99
+ * 2- when an event is provided, we will replace the DOM element (by an attribute) every time an event is triggered
100
+ * 2.1- we could also provide an extra callback method to execute when the event gets triggered
101
+ */
102
+ bindSingleElement(element, attribute, eventName, eventCallback) {
103
+ const binding = { element, attribute };
104
+ if (element) {
105
+ if (eventName) {
106
+ const listener = () => {
107
+ let elmValue = element[attribute];
108
+ if (this.hasData(elmValue) && (element === null || element === void 0 ? void 0 : element.type) === 'number') {
109
+ elmValue = +elmValue; // input is always string but we can parse to number when its type is number
110
+ }
111
+ this.valueSetter(elmValue);
112
+ if (this._binding.variable.hasOwnProperty(this._binding.property) || this._binding.property in this._binding.variable) {
113
+ this._binding.variable[this._binding.property] = this.valueGetter();
114
+ }
115
+ if (typeof eventCallback === 'function') {
116
+ return eventCallback(this.valueGetter());
117
+ }
118
+ };
119
+ binding.event = eventName;
120
+ binding.listener = listener;
121
+ element.addEventListener(eventName, listener);
122
+ this._boundedEventWithListeners.push({ element, eventName, listener, uid: this.generateUuidV4() });
123
+ }
124
+ this._elementBindings.push(binding);
125
+ element[attribute] = typeof this._value === 'string' ? this.sanitizeText(this._value) : this._value;
126
+ }
127
+ }
128
+ /** Generate a UUID version 4 RFC compliant */
129
+ generateUuidV4() {
130
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
131
+ const r = Math.random() * 16 | 0;
132
+ const v = c === 'x' ? r : (r & 0x3 | 0x8);
133
+ return v.toString(16);
134
+ });
135
+ }
136
+ hasData(value) {
137
+ return value !== undefined && value !== null && value !== '';
138
+ }
139
+ sanitizeText(dirtyText) {
140
+ return (DOMPurify === null || DOMPurify === void 0 ? void 0 : DOMPurify.sanitize) ? DOMPurify.sanitize(dirtyText, {}) : dirtyText;
141
+ }
142
+ }
143
143
  //# sourceMappingURL=binding.service.js.map
package/dist/esm/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export * from './binding.helper';
2
- export * from './binding.service';
3
- export * from './interfaces';
1
+ export * from './binding.helper';
2
+ export * from './binding.service';
3
+ export * from './interfaces';
4
4
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.0.0-dev.20230223/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/@types+trusted-types@2.0.2/node_modules/@types/trusted-types/lib/index.d.ts","../../../node_modules/.pnpm/@types+trusted-types@2.0.2/node_modules/@types/trusted-types/index.d.ts","../../../node_modules/.pnpm/@types+dompurify@2.4.0/node_modules/@types/dompurify/index.d.ts","../src/interfaces.ts","../src/binding.service.ts","../src/binding.helper.ts","../src/index.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/globals.global.d.ts","../../../node_modules/.pnpm/@types+node@18.14.1/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/@types+yargs-parser@21.0.0/node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/.pnpm/@types+yargs@17.0.10/node_modules/@types/yargs/index.d.ts","../../../node_modules/.pnpm/@types+istanbul-lib-coverage@2.0.4/node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/index.d.ts","../../../node_modules/.pnpm/@types+istanbul-lib-report@3.0.0/node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/.pnpm/@types+istanbul-reports@3.0.1/node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/.pnpm/@sinclair+typebox@0.25.21/node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/.pnpm/@jest+schemas@29.4.3/node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/.pnpm/@jest+types@29.4.3/node_modules/@jest/types/build/index.d.ts","../../../node_modules/.pnpm/@types+stack-utils@2.0.1/node_modules/@types/stack-utils/index.d.ts","../../../node_modules/.pnpm/jest-message-util@29.4.3/node_modules/jest-message-util/build/index.d.ts","../../../node_modules/.pnpm/@jest+console@29.4.3/node_modules/@jest/console/build/index.d.ts","../../../node_modules/.pnpm/@types+graceful-fs@4.1.5/node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/.pnpm/jest-haste-map@29.4.3/node_modules/jest-haste-map/build/index.d.ts","../../../node_modules/.pnpm/jest-resolve@29.4.3/node_modules/jest-resolve/build/index.d.ts","../../../node_modules/.pnpm/collect-v8-coverage@1.0.1/node_modules/collect-v8-coverage/index.d.ts","../../../node_modules/.pnpm/@jest+test-result@29.4.3/node_modules/@jest/test-result/build/index.d.ts","../../../node_modules/.pnpm/@jest+reporters@29.4.3/node_modules/@jest/reporters/build/index.d.ts","../../../node_modules/.pnpm/jest-changed-files@29.4.3/node_modules/jest-changed-files/build/index.d.ts","../../../node_modules/.pnpm/emittery@0.13.1/node_modules/emittery/index.d.ts","../../../node_modules/.pnpm/jest-watcher@29.4.3/node_modules/jest-watcher/build/index.d.ts","../../../node_modules/.pnpm/jest-runner@29.4.3/node_modules/jest-runner/build/index.d.ts","../../../node_modules/.pnpm/@jest+core@29.4.3_ts-node@10.9.1/node_modules/@jest/core/build/index.d.ts","../../../node_modules/.pnpm/jest-cli@29.4.3_ujxcenvse5zlxdro6vjdmkgl3a/node_modules/jest-cli/build/index.d.ts","../../../node_modules/.pnpm/jest@29.4.3_ujxcenvse5zlxdro6vjdmkgl3a/node_modules/jest/build/index.d.ts","../../../node_modules/.pnpm/jest-extended@3.2.4_jest@29.4.3/node_modules/jest-extended/types/index.d.ts"],"fileInfos":[{"version":"6a6b471e7e43e15ef6f8fe617a22ce4ecb0e34efa6c3dfcfe7cebd392bcca9d2","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"fcd3ecc9f764f06f4d5c467677f4f117f6abf49dee6716283aa204ff1162498b","affectsGlobalScope":true},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true},{"version":"5114a95689b63f96b957e00216bc04baf9e1a1782aa4d8ee7e5e9acbf768e301","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"95f22ce5f9dbcfc757ff850e7326a1ba1bc69806f1e70f48caefa824819d6f4f","affectsGlobalScope":true},"2fcd2d22b1f30555e785105597cd8f57ed50300e213c4f1bbca6ae149f782c38",{"version":"bb4248c7f953233ac52332088fac897d62b82be07244e551d87c5049600b6cf7","affectsGlobalScope":true},"85e94b70afcfa55a106c8ffb73e3f40a697711fc261091bcf68c793c35e89044",{"version":"c97ac67313b7f13d4fbfe6ca960d4abf641d6aa596d18f944d10c58d62e52c3f","signature":"0de6fc284f4b4ee41b056453eaa43b1653d038d5c3407feff324ad915c029d47"},{"version":"db5e6f45eba1ba0d60ba53bae06cebba7e5235a631aaf5c0cdce63a54cbcf7c5","signature":"7bbbf6cc07e741477fd3f0b67155600e3d446f61d145bb4c612468ca5aba7a10"},{"version":"6e3165f6223b58052c936a3afb66a1df60807fbeb9b09a0ba96fb613a5b0e51e","signature":"f7af978e1cdd47b27bccf3d710a0c9ffb7b4033eb4ace271ea8a4013a36c751f"},"d9731a1bca4c725c7cd719a9be7716fbcded1a9757653557ef5a1e7d4c022edf","7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"ca72190df0eb9b09d4b600821c8c7b6c9747b75a1c700c4d57dc0bb72abc074c","affectsGlobalScope":true},"11e2d554398d2bd460e7d06b2fa5827a297c8acfbe00b4f894a224ac0862857f",{"version":"17a1140b90821c2c8d7064c9fc7598797c385714e6aa88b85e30b1159af8dc9b","affectsGlobalScope":true},"374ca798f244e464346f14301dc2a8b4b111af1a83b49fffef5906c338a1f922","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","dab86d9604fe40854ef3c0a6f9e8948873dc3509213418e5e457f410fd11200f","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","489532ff54b714f0e0939947a1c560e516d3ae93d51d639ab02e907a0e950114","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"816ad2e607a96de5bcac7d437f843f5afd8957f1fa5eefa6bba8e4ed7ca8fd84","affectsGlobalScope":true},"cec36af22f514322f870e81d30675c78df82ae8bf4863f5fd4e4424c040c678d","d903fafe96674bc0b2ac38a5be4a8fc07b14c2548d1cdb165a80ea24c44c0c54","5eec82ac21f84d83586c59a16b9b8502d34505d1393393556682fe7e7fde9ef2","04eb6578a588d6a46f50299b55f30e3a04ef27d0c5a46c57d8fcc211cd530faa","8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e630e5528e899219ae319e83bef54bf3bcb91b01d76861ecf881e8e614b167f0","affectsGlobalScope":true},"2c45b35f4850881ab132f80d3cb51e8a359a4d8fafdc5ff2401d260dc27862f4","7c013aa892414a7fdcfd861ae524a668eaa3ede8c7c0acafaf611948122c8d93","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"b3624aed92dab6da8484280d3cb3e2f4130ec3f4ef3f8201c95144ae9e898bb6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","fd93cee2621ff42dabe57b7be402783fd1aa69ece755bcba1e0290547ae60513","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","09326ae5f7e3d49be5cd9ea00eb814770e71870a438faa2efd8bdd9b4db21320",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true},"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","c4577fb855ca259bdbf3ea663ca73988ce5f84251a92b4aef80a1f4122b6f98e","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"f0900cd5d00fe1263ff41201fb8073dbeb984397e4af3b8002a5c207a30bdc33","affectsGlobalScope":true},{"version":"ff07a9a03c65732ccc59b3c65bc584173da093bd563a6565411c01f5703bd3cb","affectsGlobalScope":true},"06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","ec4bd1b200670fb567920db572d6701ed42a9641d09c4ff6869768c8f81b404c","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"da26af7362f53d122283bc69fed862b9a9fe27e01bc6a69d1d682e0e5a4df3e6","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"ed2a670a77a1b80653c5bde2d813b0ab2e92872cc9b2b611ce11050b95139be6","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","105b9a2234dcb06ae922f2cd8297201136d416503ff7d16c72bfc8791e9895c1","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","6cffc933aac260d5ac5d45a00b35454c98edbb6c0e80b964871b268cc199a871","43883cf3635bb1846cbdc6c363787b76227677388c74f7313e3f0edb380840fa","88dc553591ac933378f3b4a2711623d9fd2fb43d5e73617a8ced49061daf5a9a","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","6fa5d56af71f07dc276aae3f6f30807a9cccf758517fb39742af72e963553d80","253b95673c4e01189af13e855c76a7f7c24197f4179954521bf2a50db5cfe643","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","24e095a1c10c69209becca78540530d82e45429062595a6c9c8296fcbfe4857d","f380ae8164792d9690a74f6b567b9e43d5323b580f074e50f68f983c0d073b5b","0fd641a3b3e3ec89058051a284135a3f30b94a325fb809c4e4159ec5495b5cdc","a573e489ebefb1582a6164013d1f1b843ae0088a68e9a829738ad0f8466e040a","10ef818a2a33fc987778be894fa34210ec986e66d440dd5cc6f657e9dda4fd76","e6abd59914a314cc1a102335ea44603495c70bef843e6de6306b543c3372623b","6ab1224e0149cc983d5da72ff3540bc0cad8ee7b23cf2a3da136f77f76d01763","e059fb0805a29ea3976d703a6f082c1493ac5583ca8011e8c5b86d0a23667d0d","16fbf548a0337a83d30552e990b6832fd24bbc47042a8c491e1dc93029b4222f","0c4c7303956a4726568c801dcd81e9fbce32fbf74565f735bbcf46ba66417769","b91eb5533c4dc4775c728f08afccaaf8cce3d98cf556a56cad22a305a3f027e8","9249c34e7282d17a2749677c3521ea625f73c2b48792af08fa9c5e09abc6a882",{"version":"81defd88d24375881fb6da0577fa5570f29fb462019439e01a0e7b948fd57c5c","affectsGlobalScope":true}],"root":[[48,51]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationDir":"./types","declarationMap":true,"emitDeclarationOnly":true,"emitDecoratorMetadata":true,"experimentalDecorators":true,"importHelpers":true,"module":99,"noEmitOnError":true,"noImplicitReturns":true,"outDir":"./types","preserveConstEnums":true,"rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"stripInternal":true,"target":5},"fileIdsList":[[59,98,105,114,116],[98,114,122,123,124,126,127],[98,105,114,122],[98,112],[98,108,114,117,119,120,121],[98,105,107,108,109,111,113],[98],[46,98],[69,98,105],[98,108],[98,110],[52,98],[55,98],[56,61,89,98],[57,68,69,76,86,97,98],[57,58,68,76,98],[59,98],[60,61,69,77,98],[61,86,94,98],[62,64,68,76,98],[63,98],[64,65,98],[68,98],[66,68,98],[68,69,70,86,97,98],[68,69,70,83,86,89,98],[98,102],[64,71,76,86,97,98],[68,69,71,72,76,86,94,97,98],[71,73,86,94,97,98],[52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],[68,74,98],[75,97,98],[64,68,76,86,98],[77,98],[78,98],[55,79,98],[80,96,98,102],[81,98],[82,98],[68,83,84,98],[83,85,98,100],[56,68,86,87,88,89,98],[56,86,88,98],[86,87,98],[89,98],[90,98],[68,92,93,98],[92,93,98],[61,76,86,94,98],[95,98],[76,96,98],[56,71,82,97,98],[61,98],[86,98,99],[98,100],[98,101],[56,61,68,70,79,86,97,98,100,102],[86,98,103],[45,98],[98,106],[74,98,105],[98,105,114,118],[98,114,115],[98,119],[98,114,122,126],[98,105,114,122,125],[98,114,128,129],[49,98],[47,48,98],[48,49,50,98],[49],[48]],"referencedMap":[[117,1],[128,2],[123,3],[113,4],[122,5],[114,6],[112,7],[47,8],[118,9],[108,7],[110,10],[111,11],[52,12],[53,12],[55,13],[56,14],[57,15],[58,16],[59,17],[60,18],[61,19],[62,20],[63,21],[64,22],[65,22],[67,23],[66,24],[68,23],[69,25],[70,26],[54,27],[104,7],[71,28],[72,29],[73,30],[105,31],[74,32],[75,33],[76,34],[77,35],[78,36],[79,37],[80,38],[81,39],[82,40],[83,41],[84,41],[85,42],[86,43],[88,44],[87,45],[89,46],[90,47],[91,7],[92,48],[93,49],[94,50],[95,51],[96,52],[97,53],[98,54],[99,55],[100,56],[101,57],[102,58],[103,59],[115,7],[46,60],[45,7],[106,7],[107,61],[109,7],[121,62],[125,7],[124,7],[129,7],[131,7],[119,63],[116,64],[120,65],[127,66],[126,67],[130,68],[43,7],[44,7],[8,7],[10,7],[9,7],[2,7],[11,7],[12,7],[13,7],[14,7],[15,7],[16,7],[17,7],[18,7],[3,7],[4,7],[22,7],[19,7],[20,7],[21,7],[23,7],[24,7],[25,7],[5,7],[26,7],[27,7],[28,7],[29,7],[6,7],[33,7],[30,7],[31,7],[32,7],[34,7],[7,7],[35,7],[40,7],[41,7],[36,7],[37,7],[38,7],[39,7],[1,7],[42,7],[50,69],[49,70],[51,71],[48,7]],"exportedModulesMap":[[117,1],[128,2],[123,3],[113,4],[122,5],[114,6],[112,7],[47,8],[118,9],[108,7],[110,10],[111,11],[52,12],[53,12],[55,13],[56,14],[57,15],[58,16],[59,17],[60,18],[61,19],[62,20],[63,21],[64,22],[65,22],[67,23],[66,24],[68,23],[69,25],[70,26],[54,27],[104,7],[71,28],[72,29],[73,30],[105,31],[74,32],[75,33],[76,34],[77,35],[78,36],[79,37],[80,38],[81,39],[82,40],[83,41],[84,41],[85,42],[86,43],[88,44],[87,45],[89,46],[90,47],[91,7],[92,48],[93,49],[94,50],[95,51],[96,52],[97,53],[98,54],[99,55],[100,56],[101,57],[102,58],[103,59],[115,7],[46,60],[45,7],[106,7],[107,61],[109,7],[121,62],[125,7],[124,7],[129,7],[131,7],[119,63],[116,64],[120,65],[127,66],[126,67],[130,68],[43,7],[44,7],[8,7],[10,7],[9,7],[2,7],[11,7],[12,7],[13,7],[14,7],[15,7],[16,7],[17,7],[18,7],[3,7],[4,7],[22,7],[19,7],[20,7],[21,7],[23,7],[24,7],[25,7],[5,7],[26,7],[27,7],[28,7],[29,7],[6,7],[33,7],[30,7],[31,7],[32,7],[34,7],[7,7],[35,7],[40,7],[41,7],[36,7],[37,7],[38,7],[39,7],[1,7],[42,7],[50,72],[49,73],[51,71]],"semanticDiagnosticsPerFile":[117,128,123,113,122,114,112,47,118,108,110,111,52,53,55,56,57,58,59,60,61,62,63,64,65,67,66,68,69,70,54,104,71,72,73,105,74,75,76,77,78,79,80,81,82,83,84,85,86,88,87,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,115,46,45,106,107,109,121,125,124,129,131,119,116,120,127,126,130,43,44,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,33,30,31,32,34,7,35,40,41,36,37,38,39,1,42,50,49,51,48],"latestChangedDtsFile":"./types/index.d.ts"},"version":"5.0.0-dev.20230223"}
@@ -1,18 +1,19 @@
1
- import { BindingService } from './binding.service';
2
- export declare class BindingHelper {
3
- private _observers;
4
- private _querySelectorPrefix;
5
- get querySelectorPrefix(): string;
6
- set querySelectorPrefix(prefix: string);
7
- get observers(): BindingService[];
8
- constructor();
9
- dispose(): void;
10
- addElementBinding<T extends Element = Element>(variable: any, property: string, selector: string, attribute: string, events?: string | string[], callback?: (val: any) => void): void;
11
- /** From a DOM element selector, which could be zero or multiple elements, add an event listener */
12
- bindEventHandler<T extends Element = Element>(selector: string, eventName: string, callback: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13
- /**
14
- * From a DOM element selector, which could be zero or multiple elements, set the value on a given attribute name
15
- * For example ('div.hello', 'textContent', 'world') => would set the textContent equal to 'world' on a div element having the class 'hello'
16
- */
17
- setElementAttributeValue<T extends Element = Element>(selector: string, attribute: string, value: any): void;
18
- }
1
+ import { BindingService } from './binding.service';
2
+ export declare class BindingHelper {
3
+ private _observers;
4
+ private _querySelectorPrefix;
5
+ get querySelectorPrefix(): string;
6
+ set querySelectorPrefix(prefix: string);
7
+ get observers(): BindingService[];
8
+ constructor();
9
+ dispose(): void;
10
+ addElementBinding<T extends Element = Element>(variable: any, property: string, selector: string, attribute: string, events?: string | string[], callback?: (val: any) => void): void;
11
+ /** From a DOM element selector, which could be zero or multiple elements, add an event listener */
12
+ bindEventHandler<T extends Element = Element>(selector: string, eventName: string, callback: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
13
+ /**
14
+ * From a DOM element selector, which could be zero or multiple elements, set the value on a given attribute name
15
+ * For example ('div.hello', 'textContent', 'world') => would set the textContent equal to 'world' on a div element having the class 'hello'
16
+ */
17
+ setElementAttributeValue<T extends Element = Element>(selector: string, attribute: string, value: any): void;
18
+ }
19
+ //# sourceMappingURL=binding.helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binding.helper.d.ts","sourceRoot":"","sources":["../../src/binding.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qBAAa,aAAa;IACxB,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,oBAAoB,CAAM;IAElC,IAAI,mBAAmB,IAAI,MAAM,CAEhC;IACD,IAAI,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAErC;IAED,IAAI,SAAS,qBAEZ;;IAID,OAAO;IASP,iBAAiB,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI;IAqB9K,qGAAqG;IACrG,gBAAgB,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,kCAAkC,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB;IAU5K;;;OAGG;IACH,wBAAwB,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;CAUtG"}
@@ -1,43 +1,44 @@
1
- import { Binding, BoundedEventWithListener, ElementBinding, ElementBindingWithListener } from './interfaces';
2
- /**
3
- * Create 2 way Bindings for any variable that are primitive or object types, when it's an object type it will watch for property changes
4
- * The following 2 articles helped in building this service:
5
- * 1- https://blog.jeremylikness.com/blog/client-side-javascript-databinding-without-a-framework/
6
- * 2- https://www.wintellect.com/data-binding-pure-javascript/
7
- */
8
- export declare class BindingService {
9
- protected _value: any;
10
- protected _binding: Binding;
11
- protected _property: string;
12
- protected _boundedEventWithListeners: BoundedEventWithListener[];
13
- protected _elementBindings: Array<ElementBinding | ElementBindingWithListener>;
14
- constructor(binding: Binding);
15
- get boundedEventWithListeners(): BoundedEventWithListener[];
16
- get elementBindings(): Array<ElementBinding | ElementBindingWithListener>;
17
- get property(): string;
18
- dispose(): void;
19
- valueGetter(): any;
20
- valueSetter<T extends Element = Element>(val: any): void;
21
- /**
22
- * Add binding to 1 or more DOM Element by an object attribute and optionally on an event, we can do it in couple ways
23
- * 1- if there's no event provided, it will simply replace the DOM elemnt (by an attribute), for example an innerHTML
24
- * 2- when an event is provided, we will replace the DOM element (by an attribute) every time an event is triggered
25
- * 2.1- we could also provide an extra callback method to execute when the event gets triggered
26
- */
27
- bind<T extends Element = Element>(elements: T | NodeListOf<T> | null, attribute: string, eventName?: string, eventCallback?: (val: any) => any): this;
28
- /** Unbind (remove) an element event listener */
29
- unbind(element: Element | null, eventName: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions, eventUid?: string): void;
30
- /** Unbind All (remove) bounded elements with listeners */
31
- unbindAll(): void;
32
- /**
33
- * Add binding to a single element by an object attribute and optionally on an event, we can do it in couple ways
34
- * 1- if there's no event provided, it will simply replace the DOM element (by an attribute), for example an innerHTML
35
- * 2- when an event is provided, we will replace the DOM element (by an attribute) every time an event is triggered
36
- * 2.1- we could also provide an extra callback method to execute when the event gets triggered
37
- */
38
- protected bindSingleElement<T extends Element = Element>(element: T | null, attribute: string, eventName?: string, eventCallback?: (val: any) => any): void;
39
- /** Generate a UUID version 4 RFC compliant */
40
- protected generateUuidV4(): string;
41
- protected hasData(value: any): boolean;
42
- protected sanitizeText(dirtyText: string): string;
43
- }
1
+ import { Binding, BoundedEventWithListener, ElementBinding, ElementBindingWithListener } from './interfaces';
2
+ /**
3
+ * Create 2 way Bindings for any variable that are primitive or object types, when it's an object type it will watch for property changes
4
+ * The following 2 articles helped in building this service:
5
+ * 1- https://blog.jeremylikness.com/blog/client-side-javascript-databinding-without-a-framework/
6
+ * 2- https://www.wintellect.com/data-binding-pure-javascript/
7
+ */
8
+ export declare class BindingService {
9
+ protected _value: any;
10
+ protected _binding: Binding;
11
+ protected _property: string;
12
+ protected _boundedEventWithListeners: BoundedEventWithListener[];
13
+ protected _elementBindings: Array<ElementBinding | ElementBindingWithListener>;
14
+ constructor(binding: Binding);
15
+ get boundedEventWithListeners(): BoundedEventWithListener[];
16
+ get elementBindings(): Array<ElementBinding | ElementBindingWithListener>;
17
+ get property(): string;
18
+ dispose(): void;
19
+ valueGetter(): any;
20
+ valueSetter<T extends Element = Element>(val: any): void;
21
+ /**
22
+ * Add binding to 1 or more DOM Element by an object attribute and optionally on an event, we can do it in couple ways
23
+ * 1- if there's no event provided, it will simply replace the DOM elemnt (by an attribute), for example an innerHTML
24
+ * 2- when an event is provided, we will replace the DOM element (by an attribute) every time an event is triggered
25
+ * 2.1- we could also provide an extra callback method to execute when the event gets triggered
26
+ */
27
+ bind<T extends Element = Element>(elements: T | NodeListOf<T> | null, attribute: string, eventName?: string, eventCallback?: (val: any) => any): this;
28
+ /** Unbind (remove) an element event listener */
29
+ unbind(element: Element | null, eventName: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions, eventUid?: string): void;
30
+ /** Unbind All (remove) bounded elements with listeners */
31
+ unbindAll(): void;
32
+ /**
33
+ * Add binding to a single element by an object attribute and optionally on an event, we can do it in couple ways
34
+ * 1- if there's no event provided, it will simply replace the DOM element (by an attribute), for example an innerHTML
35
+ * 2- when an event is provided, we will replace the DOM element (by an attribute) every time an event is triggered
36
+ * 2.1- we could also provide an extra callback method to execute when the event gets triggered
37
+ */
38
+ protected bindSingleElement<T extends Element = Element>(element: T | null, attribute: string, eventName?: string, eventCallback?: (val: any) => any): void;
39
+ /** Generate a UUID version 4 RFC compliant */
40
+ protected generateUuidV4(): string;
41
+ protected hasData(value: any): boolean;
42
+ protected sanitizeText(dirtyText: string): string;
43
+ }
44
+ //# sourceMappingURL=binding.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binding.service.d.ts","sourceRoot":"","sources":["../../src/binding.service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE7G;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,SAAS,CAAC,MAAM,EAAE,GAAG,CAAQ;IAC7B,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,0BAA0B,EAAE,wBAAwB,EAAE,CAAM;IACtE,SAAS,CAAC,gBAAgB,EAAE,KAAK,CAAC,cAAc,GAAG,0BAA0B,CAAC,CAAM;gBAExE,OAAO,EAAE,OAAO;IAkB5B,IAAI,yBAAyB,IAAI,wBAAwB,EAAE,CAE1D;IAED,IAAI,eAAe,IAAI,KAAK,CAAC,cAAc,GAAG,0BAA0B,CAAC,CAExE;IAED,IAAI,QAAQ,WAEX;IAED,OAAO;IAMP,WAAW;IAIX,WAAW,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG;IAWjD;;;;;OAKG;IACH,IAAI,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG;IAY9I,gDAAgD;IAChD,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,kCAAkC,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,EAAE,QAAQ,CAAC,EAAE,MAAM;IAU5J,0DAA0D;IAC1D,SAAS;IAUT;;;;;OAKG;IACH,SAAS,CAAC,iBAAiB,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG;IA6BpJ,8CAA8C;IAC9C,SAAS,CAAC,cAAc;IAQxB,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAItC,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;CAGlD"}
@@ -1,3 +1,4 @@
1
- export * from './binding.helper';
2
- export * from './binding.service';
3
- export * from './interfaces';
1
+ export * from './binding.helper';
2
+ export * from './binding.service';
3
+ export * from './interfaces';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
@@ -1,18 +1,19 @@
1
- export interface Binding {
2
- variable: any;
3
- property: string;
4
- }
5
- export interface ElementBinding<T extends Element = Element> {
6
- element: T | null;
7
- attribute: string;
8
- }
9
- export interface ElementBindingWithListener<T extends Element = Element> extends ElementBinding<T> {
10
- event: string;
11
- listener: (val: any) => any;
12
- }
13
- export interface BoundedEventWithListener<T extends Element = Element> {
14
- element: T;
15
- eventName: string;
16
- listener: EventListenerOrEventListenerObject;
17
- uid: string;
18
- }
1
+ export interface Binding {
2
+ variable: any;
3
+ property: string;
4
+ }
5
+ export interface ElementBinding<T extends Element = Element> {
6
+ element: T | null;
7
+ attribute: string;
8
+ }
9
+ export interface ElementBindingWithListener<T extends Element = Element> extends ElementBinding<T> {
10
+ event: string;
11
+ listener: (val: any) => any;
12
+ }
13
+ export interface BoundedEventWithListener<T extends Element = Element> {
14
+ element: T;
15
+ eventName: string;
16
+ listener: EventListenerOrEventListenerObject;
17
+ uid: string;
18
+ }
19
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,GAAG,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO;IACzD,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,0BAA0B,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IAChG,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO;IACnE,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,kCAAkC,CAAC;IAC7C,GAAG,EAAE,MAAM,CAAC;CACb"}
package/package.json CHANGED
@@ -1,25 +1,25 @@
1
1
  {
2
2
  "name": "@slickgrid-universal/binding",
3
- "version": "2.4.0",
3
+ "version": "2.6.0",
4
4
  "description": "Simple Vanilla Implementation of a Binding Engine & Helper to add properties/events 2 way bindings",
5
5
  "main": "dist/commonjs/index.js",
6
6
  "module": "dist/esm/index.js",
7
7
  "exports": {
8
8
  ".": {
9
- "browser": "./dist/esm/index.js",
10
- "import": "./dist/esm/index.d.ts",
11
- "require": "./dist/commonjs/index.js"
9
+ "import": "./dist/esm/index.js",
10
+ "require": "./dist/commonjs/index.js",
11
+ "default": "./dist/esm/index.js"
12
12
  },
13
13
  "./*": "./*"
14
14
  },
15
15
  "typesVersions": {
16
16
  "*": {
17
17
  "*": [
18
- "./dist/esm/index.d.ts"
18
+ "./dist/types/index.d.ts"
19
19
  ]
20
20
  }
21
21
  },
22
- "types": "dist/esm/index.d.ts",
22
+ "types": "dist/types/index.d.ts",
23
23
  "publishConfig": {
24
24
  "access": "public"
25
25
  },
@@ -43,7 +43,7 @@
43
43
  "not dead"
44
44
  ],
45
45
  "dependencies": {
46
- "dompurify": "^2.4.3"
46
+ "dompurify": "^3.0.0"
47
47
  },
48
- "gitHead": "6f3daed53deccc243f8e964be818849804224939"
48
+ "gitHead": "9cddf3ee91a91ca829d0ced99c1f20f6d0e9941f"
49
49
  }