@builder.io/sdk 3.0.2-2 → 3.0.3

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.
Files changed (42) hide show
  1. package/.yarnrc.yml +1 -0
  2. package/CHANGELOG.md +13 -0
  3. package/dist/index.browser.js +71 -18
  4. package/dist/index.browser.js.map +1 -1
  5. package/dist/index.cjs.js +71 -18
  6. package/dist/index.cjs.js.map +1 -1
  7. package/dist/index.esm.js +71 -18
  8. package/dist/index.esm.js.map +1 -1
  9. package/dist/index.js +13 -49
  10. package/dist/index.umd.js +71 -18
  11. package/dist/index.umd.js.map +1 -1
  12. package/dist/package.json +1 -3
  13. package/dist/src/builder.class.d.ts +7 -0
  14. package/dist/src/builder.class.js +70 -17
  15. package/dist/src/builder.class.js.map +1 -1
  16. package/dist/src/builder.class.test.js +757 -170
  17. package/dist/src/builder.class.test.js.map +1 -1
  18. package/dist/src/classes/animator.class.js +195 -218
  19. package/dist/src/classes/observable.class.js +97 -102
  20. package/dist/src/classes/promise.class.js +154 -150
  21. package/dist/src/classes/query-string.class.js +74 -73
  22. package/dist/src/classes/query-string.class.test.js +20 -20
  23. package/dist/src/constants/builder.js +4 -4
  24. package/dist/src/functions/assign.function.js +19 -19
  25. package/dist/src/functions/fetch.function.js +75 -97
  26. package/dist/src/functions/finder.function.js +274 -389
  27. package/dist/src/functions/next-tick.function.js +23 -26
  28. package/dist/src/functions/omit.function.js +13 -13
  29. package/dist/src/functions/server-only-require.function.js +9 -10
  30. package/dist/src/functions/throttle.function.js +37 -35
  31. package/dist/src/functions/to-error.js +6 -5
  32. package/dist/src/functions/uuid.js +8 -9
  33. package/dist/src/types/api-version.js +3 -3
  34. package/dist/src/types/content.js +3 -3
  35. package/dist/src/types/element.js +3 -3
  36. package/dist/src/url.js +42 -41
  37. package/dist/src/url.test.js +118 -222
  38. package/dist/tsconfig.tsbuildinfo +1 -1
  39. package/package.json +3 -6
  40. package/dist/src/functions/get-top-level-domain.d.ts +0 -6
  41. package/dist/src/functions/get-top-level-domain.js +0 -17
  42. package/dist/src/functions/get-top-level-domain.js.map +0 -1
@@ -1,82 +1,83 @@
1
- 'use strict';
2
- Object.defineProperty(exports, '__esModule', { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.QueryString = void 0;
4
4
  var PROPERTY_NAME_DENY_LIST = Object.freeze(['__proto__', 'prototype', 'constructor']);
5
5
  // TODO: unit tests
6
6
  var QueryString = /** @class */ (function () {
7
- function QueryString() {}
8
- QueryString.parseDeep = function (queryString) {
9
- var obj = this.parse(queryString);
10
- return this.deepen(obj);
11
- };
12
- QueryString.stringifyDeep = function (obj) {
13
- var map = this.flatten(obj);
14
- return this.stringify(map);
15
- };
16
- QueryString.parse = function (queryString) {
17
- var query = {};
18
- var pairs = (queryString[0] === '?' ? queryString.substr(1) : queryString).split('&');
19
- for (var i = 0; i < pairs.length; i++) {
20
- var pair = pairs[i].split('=');
21
- // TODO: node support?
22
- try {
23
- query[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || '');
24
- } catch (error) {
25
- // Ignore malformed URI components
26
- }
7
+ function QueryString() {
27
8
  }
28
- return query;
29
- };
30
- QueryString.stringify = function (map) {
31
- var str = '';
32
- for (var key in map) {
33
- if (map.hasOwnProperty(key)) {
34
- var value = map[key];
35
- if (str) {
36
- str += '&';
9
+ QueryString.parseDeep = function (queryString) {
10
+ var obj = this.parse(queryString);
11
+ return this.deepen(obj);
12
+ };
13
+ QueryString.stringifyDeep = function (obj) {
14
+ var map = this.flatten(obj);
15
+ return this.stringify(map);
16
+ };
17
+ QueryString.parse = function (queryString) {
18
+ var query = {};
19
+ var pairs = (queryString[0] === '?' ? queryString.substr(1) : queryString).split('&');
20
+ for (var i = 0; i < pairs.length; i++) {
21
+ var pair = pairs[i].split('=');
22
+ // TODO: node support?
23
+ try {
24
+ query[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || '');
25
+ }
26
+ catch (error) {
27
+ // Ignore malformed URI components
28
+ }
37
29
  }
38
- str += encodeURIComponent(key) + '=' + encodeURIComponent(value);
39
- }
40
- }
41
- return str;
42
- };
43
- QueryString.deepen = function (map) {
44
- // FIXME; Should be type Tree = Record<string, string | Tree>
45
- // requires a typescript upgrade.
46
- var output = {};
47
- for (var k in map) {
48
- var t = output;
49
- var parts = k.split('.');
50
- var key = parts.pop();
51
- for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) {
52
- var part = parts_1[_i];
53
- assertAllowedPropertyName(part);
54
- t = t[part] = t[part] || {};
55
- }
56
- t[key] = map[k];
57
- }
58
- return output;
59
- };
60
- QueryString.flatten = function (obj, _current, _res) {
61
- if (_res === void 0) {
62
- _res = {};
63
- }
64
- for (var key in obj) {
65
- var value = obj[key];
66
- var newKey = _current ? _current + '.' + key : key;
67
- if (value && typeof value === 'object') {
68
- this.flatten(value, newKey, _res);
69
- } else {
70
- _res[newKey] = value;
71
- }
72
- }
73
- return _res;
74
- };
75
- return QueryString;
76
- })();
30
+ return query;
31
+ };
32
+ QueryString.stringify = function (map) {
33
+ var str = '';
34
+ for (var key in map) {
35
+ if (map.hasOwnProperty(key)) {
36
+ var value = map[key];
37
+ if (str) {
38
+ str += '&';
39
+ }
40
+ str += encodeURIComponent(key) + '=' + encodeURIComponent(value);
41
+ }
42
+ }
43
+ return str;
44
+ };
45
+ QueryString.deepen = function (map) {
46
+ // FIXME; Should be type Tree = Record<string, string | Tree>
47
+ // requires a typescript upgrade.
48
+ var output = {};
49
+ for (var k in map) {
50
+ var t = output;
51
+ var parts = k.split('.');
52
+ var key = parts.pop();
53
+ for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) {
54
+ var part = parts_1[_i];
55
+ assertAllowedPropertyName(part);
56
+ t = t[part] = t[part] || {};
57
+ }
58
+ t[key] = map[k];
59
+ }
60
+ return output;
61
+ };
62
+ QueryString.flatten = function (obj, _current, _res) {
63
+ if (_res === void 0) { _res = {}; }
64
+ for (var key in obj) {
65
+ var value = obj[key];
66
+ var newKey = _current ? _current + '.' + key : key;
67
+ if (value && typeof value === 'object') {
68
+ this.flatten(value, newKey, _res);
69
+ }
70
+ else {
71
+ _res[newKey] = value;
72
+ }
73
+ }
74
+ return _res;
75
+ };
76
+ return QueryString;
77
+ }());
77
78
  exports.QueryString = QueryString;
78
79
  function assertAllowedPropertyName(name) {
79
- if (PROPERTY_NAME_DENY_LIST.indexOf(name) >= 0)
80
- throw new Error('Property name "'.concat(name, '" is not allowed'));
80
+ if (PROPERTY_NAME_DENY_LIST.indexOf(name) >= 0)
81
+ throw new Error("Property name \"".concat(name, "\" is not allowed"));
81
82
  }
82
- //# sourceMappingURL=query-string.class.js.map
83
+ //# sourceMappingURL=query-string.class.js.map
@@ -1,25 +1,25 @@
1
- 'use strict';
2
- Object.defineProperty(exports, '__esModule', { value: true });
3
- var query_string_class_1 = require('./query-string.class');
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var query_string_class_1 = require("./query-string.class");
4
4
  test.each([
5
- // prettier-ignore
6
- ['__proto__.foo.baz=1'],
7
- ['prototype.foo=1'],
5
+ // prettier-ignore
6
+ ['__proto__.foo.baz=1'],
7
+ ['prototype.foo=1'],
8
8
  ])('(regression) prototype pollution %#', function (input) {
9
- expect(function () {
10
- query_string_class_1.QueryString.parseDeep(input);
11
- }).toThrowError(/Property name \".*\" is not allowed/);
12
- var pollutedObject = {};
13
- expect(pollutedObject.foo).toBeUndefined();
9
+ expect(function () {
10
+ query_string_class_1.QueryString.parseDeep(input);
11
+ }).toThrowError(/Property name \".*\" is not allowed/);
12
+ var pollutedObject = {};
13
+ expect(pollutedObject.foo).toBeUndefined();
14
14
  });
15
15
  describe('.parseDeep', function () {
16
- test('input string may be prefixed with a question mark', function () {
17
- var result = query_string_class_1.QueryString.parseDeep('?foo=1');
18
- expect(result).toEqual({ foo: '1' });
19
- });
20
- test('converts the paths to a single object', function () {
21
- var result = query_string_class_1.QueryString.parseDeep('foo.bar.baz=1&foo.boo=2');
22
- expect(result).toEqual({ foo: { bar: { baz: '1' }, boo: '2' } });
23
- });
16
+ test('input string may be prefixed with a question mark', function () {
17
+ var result = query_string_class_1.QueryString.parseDeep('?foo=1');
18
+ expect(result).toEqual({ foo: '1' });
19
+ });
20
+ test('converts the paths to a single object', function () {
21
+ var result = query_string_class_1.QueryString.parseDeep('foo.bar.baz=1&foo.boo=2');
22
+ expect(result).toEqual({ foo: { bar: { baz: '1' }, boo: '2' } });
23
+ });
24
24
  });
25
- //# sourceMappingURL=query-string.class.test.js.map
25
+ //# sourceMappingURL=query-string.class.test.js.map
@@ -1,7 +1,7 @@
1
- 'use strict';
2
- Object.defineProperty(exports, '__esModule', { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.builder = void 0;
4
- var builder_class_1 = require('../builder.class');
4
+ var builder_class_1 = require("../builder.class");
5
5
  exports.builder = new builder_class_1.Builder(null, undefined, undefined, true);
6
6
  builder_class_1.Builder.singletonInstance = exports.builder;
7
- //# sourceMappingURL=builder.js.map
7
+ //# sourceMappingURL=builder.js.map
@@ -1,25 +1,25 @@
1
- 'use strict';
2
- Object.defineProperty(exports, '__esModule', { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.assign = void 0;
4
4
  function assign(target) {
5
- var args = [];
6
- for (var _i = 1; _i < arguments.length; _i++) {
7
- args[_i - 1] = arguments[_i];
8
- }
9
- var to = Object(target);
10
- for (var index = 1; index < arguments.length; index++) {
11
- var nextSource = arguments[index];
12
- if (nextSource != null) {
13
- // Skip over if undefined or null
14
- for (var nextKey in nextSource) {
15
- // Avoid bugs when hasOwnProperty is shadowed
16
- if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {
17
- to[nextKey] = nextSource[nextKey];
5
+ var args = [];
6
+ for (var _i = 1; _i < arguments.length; _i++) {
7
+ args[_i - 1] = arguments[_i];
8
+ }
9
+ var to = Object(target);
10
+ for (var index = 1; index < arguments.length; index++) {
11
+ var nextSource = arguments[index];
12
+ if (nextSource != null) {
13
+ // Skip over if undefined or null
14
+ for (var nextKey in nextSource) {
15
+ // Avoid bugs when hasOwnProperty is shadowed
16
+ if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {
17
+ to[nextKey] = nextSource[nextKey];
18
+ }
19
+ }
18
20
  }
19
- }
20
21
  }
21
- }
22
- return to;
22
+ return to;
23
23
  }
24
24
  exports.assign = assign;
25
- //# sourceMappingURL=assign.function.js.map
25
+ //# sourceMappingURL=assign.function.js.map
@@ -1,107 +1,85 @@
1
- 'use strict';
2
- var __importDefault =
3
- (this && this.__importDefault) ||
4
- function (mod) {
5
- return mod && mod.__esModule ? mod : { default: mod };
6
- };
7
- Object.defineProperty(exports, '__esModule', { value: true });
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
8
6
  exports.getFetch = void 0;
9
- var promise_class_1 = __importDefault(require('../classes/promise.class'));
10
- var server_only_require_function_1 = __importDefault(require('./server-only-require.function'));
7
+ var promise_class_1 = __importDefault(require("../classes/promise.class"));
8
+ var server_only_require_function_1 = __importDefault(require("./server-only-require.function"));
11
9
  function promiseResolve(value) {
12
- return new promise_class_1.default(function (resolve) {
13
- return resolve(value);
14
- });
10
+ return new promise_class_1.default(function (resolve) { return resolve(value); });
15
11
  }
16
12
  // Adapted from https://raw.githubusercontent.com/developit/unfetch/master/src/index.mjs
17
13
  function tinyFetch(url, options) {
18
- if (options === void 0) {
19
- options = {};
20
- }
21
- return new promise_class_1.default(function (resolve, reject) {
22
- var request = new XMLHttpRequest();
23
- request.open(options.method || 'get', url, true);
24
- if (options.headers) {
25
- for (var i in options.headers) {
26
- request.setRequestHeader(i, options.headers[i]);
27
- }
28
- }
29
- request.withCredentials = options.credentials === 'include';
30
- request.onload = function () {
31
- resolve(response());
32
- };
33
- request.onerror = reject;
34
- request.send(options.body);
35
- function response() {
36
- var keys = [];
37
- var all = [];
38
- var headers = {};
39
- var header = undefined;
40
- request
41
- .getAllResponseHeaders()
42
- .replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm, function (_match, _key, value) {
43
- var key = _key;
44
- keys.push((key = key.toLowerCase()));
45
- all.push([key, value]);
46
- header = headers[key];
47
- headers[key] = header ? ''.concat(header, ',').concat(value) : value;
48
- return '';
49
- });
50
- return {
51
- ok: ((request.status / 100) | 0) === 2,
52
- status: request.status,
53
- statusText: request.statusText,
54
- url: request.responseURL,
55
- clone: response,
56
- text: function () {
57
- return promiseResolve(request.responseText);
58
- },
59
- json: function () {
60
- return promiseResolve(request.responseText).then(JSON.parse);
61
- },
62
- blob: function () {
63
- return promiseResolve(new Blob([request.response]));
64
- },
65
- headers: {
66
- keys: function () {
67
- return keys;
68
- },
69
- entries: function () {
70
- return all;
71
- },
72
- get: function (n) {
73
- return headers[n.toLowerCase()];
74
- },
75
- has: function (n) {
76
- return n.toLowerCase() in headers;
77
- },
78
- },
79
- };
80
- }
81
- });
14
+ if (options === void 0) { options = {}; }
15
+ return new promise_class_1.default(function (resolve, reject) {
16
+ var request = new XMLHttpRequest();
17
+ request.open(options.method || 'get', url, true);
18
+ if (options.headers) {
19
+ for (var i in options.headers) {
20
+ request.setRequestHeader(i, options.headers[i]);
21
+ }
22
+ }
23
+ request.withCredentials = options.credentials === 'include';
24
+ request.onload = function () {
25
+ resolve(response());
26
+ };
27
+ request.onerror = reject;
28
+ request.send(options.body);
29
+ function response() {
30
+ var keys = [];
31
+ var all = [];
32
+ var headers = {};
33
+ var header = undefined;
34
+ request
35
+ .getAllResponseHeaders()
36
+ .replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm, function (_match, _key, value) {
37
+ var key = _key;
38
+ keys.push((key = key.toLowerCase()));
39
+ all.push([key, value]);
40
+ header = headers[key];
41
+ headers[key] = header ? "".concat(header, ",").concat(value) : value;
42
+ return '';
43
+ });
44
+ return {
45
+ ok: ((request.status / 100) | 0) === 2,
46
+ status: request.status,
47
+ statusText: request.statusText,
48
+ url: request.responseURL,
49
+ clone: response,
50
+ text: function () { return promiseResolve(request.responseText); },
51
+ json: function () { return promiseResolve(request.responseText).then(JSON.parse); },
52
+ blob: function () { return promiseResolve(new Blob([request.response])); },
53
+ headers: {
54
+ keys: function () { return keys; },
55
+ entries: function () { return all; },
56
+ get: function (n) { return headers[n.toLowerCase()]; },
57
+ has: function (n) { return n.toLowerCase() in headers; },
58
+ },
59
+ };
60
+ }
61
+ });
82
62
  }
83
63
  function getFetch() {
84
- // If fetch is defined, in the browser, via polyfill, or in a Cloudflare worker, use it.
85
- var _fetch = undefined;
86
- if (globalThis.fetch) {
87
- _fetch !== null && _fetch !== void 0 ? _fetch : (_fetch = globalThis.fetch);
88
- } else if (typeof window === 'undefined') {
89
- // If fetch is not defined, in a Node.js environment, use node-fetch.
90
- try {
91
- // node-fetch@^3 is ESM only, and will throw error on require.
92
- _fetch !== null && _fetch !== void 0
93
- ? _fetch
94
- : (_fetch = (0, server_only_require_function_1.default)('node-fetch'));
95
- } catch (e) {
96
- // If node-fetch is not installed, use tiny-fetch.
97
- console.warn(
98
- 'node-fetch is not installed. consider polyfilling fetch or installing node-fetch.'
99
- );
100
- console.warn(e);
64
+ // If fetch is defined, in the browser, via polyfill, or in a Cloudflare worker, use it.
65
+ var _fetch = undefined;
66
+ if (globalThis.fetch) {
67
+ _fetch !== null && _fetch !== void 0 ? _fetch : (_fetch = globalThis.fetch);
68
+ }
69
+ else if (typeof window === 'undefined') {
70
+ // If fetch is not defined, in a Node.js environment, use node-fetch.
71
+ try {
72
+ // node-fetch@^3 is ESM only, and will throw error on require.
73
+ _fetch !== null && _fetch !== void 0 ? _fetch : (_fetch = (0, server_only_require_function_1.default)('node-fetch'));
74
+ }
75
+ catch (e) {
76
+ // If node-fetch is not installed, use tiny-fetch.
77
+ console.warn('node-fetch is not installed. consider polyfilling fetch or installing node-fetch.');
78
+ console.warn(e);
79
+ }
101
80
  }
102
- }
103
- // Otherwise, use tiny-fetch.
104
- return _fetch !== null && _fetch !== void 0 ? _fetch : tinyFetch;
81
+ // Otherwise, use tiny-fetch.
82
+ return _fetch !== null && _fetch !== void 0 ? _fetch : tinyFetch;
105
83
  }
106
84
  exports.getFetch = getFetch;
107
- //# sourceMappingURL=fetch.function.js.map
85
+ //# sourceMappingURL=fetch.function.js.map