ctrl-fx 0.1.0 → 0.1.1

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 (152) hide show
  1. package/README.md +13 -0
  2. package/dist/chunk-DZAR6PTR.js +3966 -0
  3. package/dist/chunk-KNHJPAIU.js +1800 -0
  4. package/dist/chunk-NSWOTCDU.js +916 -0
  5. package/dist/chunk-PKBMQBKP.js +7 -0
  6. package/dist/chunk-XICUXW4T.js +252 -0
  7. package/dist/db/index.d.ts +218 -16
  8. package/dist/db/index.js +53 -19
  9. package/dist/dom/index.d.ts +2 -248
  10. package/dist/dom/index.js +30 -266
  11. package/dist/effects.d.ts +2 -580
  12. package/dist/effects.js +111 -1556
  13. package/dist/index-fpCmXVEu.d.ts +1391 -0
  14. package/dist/index.d.ts +2 -41
  15. package/dist/index.js +18 -78
  16. package/dist/router.d.ts +11 -12
  17. package/dist/router.js +57 -68
  18. package/dist/testing.d.ts +66 -60
  19. package/dist/testing.js +39 -158
  20. package/dist/webcomponent.d.ts +7 -4
  21. package/dist/webcomponent.js +48 -40
  22. package/package.json +4 -3
  23. package/dist/clipboard.d.ts +0 -7
  24. package/dist/clipboard.d.ts.map +0 -1
  25. package/dist/clipboard.js +0 -3
  26. package/dist/db/effects.d.ts +0 -78
  27. package/dist/db/effects.d.ts.map +0 -1
  28. package/dist/db/effects.js +0 -98
  29. package/dist/db/errors.d.ts +0 -21
  30. package/dist/db/errors.d.ts.map +0 -1
  31. package/dist/db/errors.js +0 -13
  32. package/dist/db/index.d.ts.map +0 -1
  33. package/dist/db/keypath.d.ts +0 -40
  34. package/dist/db/keypath.d.ts.map +0 -1
  35. package/dist/db/keypath.js +0 -20
  36. package/dist/db/setup.d.ts +0 -83
  37. package/dist/db/setup.d.ts.map +0 -1
  38. package/dist/db/setup.js +0 -100
  39. package/dist/db/testdb.d.ts +0 -19
  40. package/dist/db/testdb.d.ts.map +0 -1
  41. package/dist/db/testdb.js +0 -34
  42. package/dist/dom/attrs.d.ts +0 -67
  43. package/dist/dom/attrs.d.ts.map +0 -1
  44. package/dist/dom/attrs.js +0 -154
  45. package/dist/dom/components.d.ts +0 -43
  46. package/dist/dom/components.d.ts.map +0 -1
  47. package/dist/dom/components.js +0 -86
  48. package/dist/dom/elems.d.ts +0 -121
  49. package/dist/dom/elems.d.ts.map +0 -1
  50. package/dist/dom/elems.js +0 -52
  51. package/dist/dom/events.d.ts +0 -232
  52. package/dist/dom/events.d.ts.map +0 -1
  53. package/dist/dom/events.js +0 -289
  54. package/dist/dom/index.d.ts.map +0 -1
  55. package/dist/dom/nodeid.d.ts +0 -9
  56. package/dist/dom/nodeid.d.ts.map +0 -1
  57. package/dist/dom/nodeid.js +0 -27
  58. package/dist/dom/svg.d.ts +0 -23
  59. package/dist/dom/svg.d.ts.map +0 -1
  60. package/dist/dom/svg.js +0 -1
  61. package/dist/dom/views.d.ts +0 -60
  62. package/dist/dom/views.d.ts.map +0 -1
  63. package/dist/dom/views.js +0 -154
  64. package/dist/effects.d.ts.map +0 -1
  65. package/dist/index.d.ts.map +0 -1
  66. package/dist/internal/clipboard.d.ts +0 -5
  67. package/dist/internal/clipboard.d.ts.map +0 -1
  68. package/dist/internal/clipboard.js +0 -33
  69. package/dist/internal/cmpmgr.d.ts +0 -46
  70. package/dist/internal/cmpmgr.d.ts.map +0 -1
  71. package/dist/internal/cmpmgr.js +0 -561
  72. package/dist/internal/dbmgr.d.ts +0 -11
  73. package/dist/internal/dbmgr.d.ts.map +0 -1
  74. package/dist/internal/dbmgr.js +0 -200
  75. package/dist/internal/dominterpreter.d.ts +0 -5
  76. package/dist/internal/dominterpreter.d.ts.map +0 -1
  77. package/dist/internal/dominterpreter.js +0 -337
  78. package/dist/internal/eventmgr.d.ts +0 -41
  79. package/dist/internal/eventmgr.d.ts.map +0 -1
  80. package/dist/internal/eventmgr.js +0 -696
  81. package/dist/internal/index.d.ts +0 -19
  82. package/dist/internal/index.d.ts.map +0 -1
  83. package/dist/internal/index.js +0 -38
  84. package/dist/internal/interpreter.d.ts +0 -10
  85. package/dist/internal/interpreter.d.ts.map +0 -1
  86. package/dist/internal/interpreter.js +0 -1
  87. package/dist/internal/locutils.d.ts +0 -4
  88. package/dist/internal/locutils.d.ts.map +0 -1
  89. package/dist/internal/locutils.js +0 -22
  90. package/dist/internal/net.d.ts +0 -4
  91. package/dist/internal/net.d.ts.map +0 -1
  92. package/dist/internal/net.js +0 -64
  93. package/dist/internal/realdom.d.ts +0 -249
  94. package/dist/internal/realdom.d.ts.map +0 -1
  95. package/dist/internal/realdom.js +0 -1
  96. package/dist/internal/styleregistry.d.ts +0 -6
  97. package/dist/internal/styleregistry.d.ts.map +0 -1
  98. package/dist/internal/styleregistry.js +0 -18
  99. package/dist/internal/taskreg.d.ts +0 -9
  100. package/dist/internal/taskreg.d.ts.map +0 -1
  101. package/dist/internal/taskreg.js +0 -28
  102. package/dist/internal/testing.d.ts +0 -12
  103. package/dist/internal/testing.d.ts.map +0 -1
  104. package/dist/internal/testing.js +0 -974
  105. package/dist/internal/testinginterpreter.d.ts +0 -10
  106. package/dist/internal/testinginterpreter.d.ts.map +0 -1
  107. package/dist/internal/testinginterpreter.js +0 -646
  108. package/dist/internal/vdom.d.ts +0 -93
  109. package/dist/internal/vdom.d.ts.map +0 -1
  110. package/dist/internal/vdom.js +0 -470
  111. package/dist/json/index.d.ts +0 -5
  112. package/dist/json/index.d.ts.map +0 -1
  113. package/dist/json/index.js +0 -2
  114. package/dist/json/validation.d.ts +0 -28
  115. package/dist/json/validation.d.ts.map +0 -1
  116. package/dist/json/validation.js +0 -8
  117. package/dist/net/fragment.d.ts +0 -10
  118. package/dist/net/fragment.d.ts.map +0 -1
  119. package/dist/net/fragment.js +0 -27
  120. package/dist/net/index.d.ts +0 -42
  121. package/dist/net/index.d.ts.map +0 -1
  122. package/dist/net/index.js +0 -60
  123. package/dist/net/location.d.ts +0 -21
  124. package/dist/net/location.d.ts.map +0 -1
  125. package/dist/net/location.js +0 -41
  126. package/dist/net/path.d.ts +0 -12
  127. package/dist/net/path.d.ts.map +0 -1
  128. package/dist/net/path.js +0 -29
  129. package/dist/net/queryparam.d.ts +0 -10
  130. package/dist/net/queryparam.d.ts.map +0 -1
  131. package/dist/net/queryparam.js +0 -34
  132. package/dist/router.d.ts.map +0 -1
  133. package/dist/scroll.d.ts +0 -7
  134. package/dist/scroll.d.ts.map +0 -1
  135. package/dist/scroll.js +0 -3
  136. package/dist/testing.d.ts.map +0 -1
  137. package/dist/utils/apply.d.ts +0 -9
  138. package/dist/utils/apply.d.ts.map +0 -1
  139. package/dist/utils/apply.js +0 -10
  140. package/dist/utils/index.d.ts +0 -22
  141. package/dist/utils/index.d.ts.map +0 -1
  142. package/dist/utils/index.js +0 -138
  143. package/dist/utils/lens.d.ts +0 -18
  144. package/dist/utils/lens.d.ts.map +0 -1
  145. package/dist/utils/lens.js +0 -27
  146. package/dist/utils/match.d.ts +0 -17
  147. package/dist/utils/match.d.ts.map +0 -1
  148. package/dist/utils/match.js +0 -28
  149. package/dist/utils/result.d.ts +0 -47
  150. package/dist/utils/result.d.ts.map +0 -1
  151. package/dist/utils/result.js +0 -97
  152. package/dist/webcomponent.d.ts.map +0 -1
@@ -1,42 +0,0 @@
1
- import { type Effect } from '../effects';
2
- import { type Result } from '../utils/result';
3
- export type Method = 'GET' | 'POST' | 'DELETE' | 'PUT' | 'HEAD' | 'OPTIONS';
4
- export type HttpRequest = {
5
- readonly uri: string;
6
- readonly method: Method;
7
- readonly headers: Headers;
8
- readonly body?: string;
9
- };
10
- export type Headers = {
11
- [key: string]: string;
12
- };
13
- export type HttpResponse = {
14
- readonly headers: Headers;
15
- readonly body: ResponseBody;
16
- };
17
- export type HttpError = {
18
- _type: 'HttpError';
19
- };
20
- export type RequestError = {
21
- _type: 'RequestError';
22
- cause: 'RequestAborted' | 'NetworkFailure' | 'UnexpectedError';
23
- message: string;
24
- };
25
- export type DecodingError = {
26
- _type: 'DecodingError';
27
- message: string;
28
- };
29
- export declare class Json {
30
- private wrapped;
31
- constructor(wrapped: any);
32
- decodeUnsafe<A>(): A;
33
- }
34
- export declare class ResponseBody {
35
- private data;
36
- constructor(data: ArrayBuffer);
37
- asString(): string;
38
- asBlob(): Blob;
39
- asJson(): Result<Json, DecodingError>;
40
- }
41
- export declare function getJson<State, Event>(uri: string): Effect<State, Event, Result<Json, HttpError | RequestError | DecodingError>>;
42
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/net/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,MAAM,EAAE,MAAM,YAAY,CAAA;AAEzD,OAAO,EAAoB,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAE/D,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAA;AAE3E,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,WAAW,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,cAAc,CAAA;IACrB,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,iBAAiB,CAAA;IAC9D,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,eAAe,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,qBAAa,IAAI;IAEf,OAAO,CAAC,OAAO,CAAK;gBAGR,OAAO,EAAE,GAAG;IAIxB,YAAY,CAAC,CAAC,KAAK,CAAC;CAGrB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,IAAI,CAAa;gBAEb,IAAI,EAAE,WAAW;IAI7B,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,IAAI;IAId,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC;CActC;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,EAClC,GAAG,EAAE,MAAM,GACV,MAAM,CACP,KAAK,EACL,KAAK,EACL,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,YAAY,GAAG,aAAa,CAAC,CACvD,CAUA"}
package/dist/net/index.js DELETED
@@ -1,60 +0,0 @@
1
- import { makeHttpRequest } from '../effects';
2
- import { failure, success } from '../utils/result';
3
- export class Json {
4
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
5
- constructor(wrapped) {
6
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
- Object.defineProperty(this, "wrapped", {
8
- enumerable: true,
9
- configurable: true,
10
- writable: true,
11
- value: void 0
12
- });
13
- this.wrapped = wrapped;
14
- }
15
- decodeUnsafe() {
16
- return this.wrapped;
17
- }
18
- }
19
- export class ResponseBody {
20
- constructor(data) {
21
- Object.defineProperty(this, "data", {
22
- enumerable: true,
23
- configurable: true,
24
- writable: true,
25
- value: void 0
26
- });
27
- this.data = data;
28
- }
29
- asString() {
30
- return new TextDecoder().decode(this.data);
31
- }
32
- asBlob() {
33
- return new Blob([this.data]);
34
- }
35
- asJson() {
36
- try {
37
- return success(new Json(JSON.parse(this.asString())));
38
- }
39
- catch (err) {
40
- if (err instanceof SyntaxError) {
41
- return failure({ _type: 'DecodingError', message: err.message });
42
- }
43
- else {
44
- return failure({
45
- _type: 'DecodingError',
46
- message: `Unexpected decoding error: ${err}`,
47
- });
48
- }
49
- }
50
- }
51
- }
52
- export function getJson(uri) {
53
- return makeHttpRequest({
54
- uri,
55
- method: 'GET',
56
- headers: {},
57
- }).map(result => result.andThen(rsp => {
58
- return rsp.body.asJson();
59
- }));
60
- }
@@ -1,21 +0,0 @@
1
- import { type Fragment } from './fragment';
2
- import { type Path } from './path';
3
- import type { QueryParam } from './queryparam';
4
- export interface InternalLocation {
5
- readonly path: Path;
6
- readonly queryParams: readonly QueryParam[];
7
- readonly fragment?: Fragment;
8
- }
9
- export declare function formatLocation(loc: InternalLocation): string;
10
- export declare function parseInternalLocation(s: string): InternalLocation;
11
- export interface Location {
12
- readonly protocol?: string;
13
- readonly hostname?: string;
14
- readonly port?: number;
15
- readonly path: Path;
16
- readonly queryParams: readonly QueryParam[];
17
- readonly fragment?: Fragment;
18
- }
19
- export declare function internalLocationFromLocation(location: Location): InternalLocation;
20
- export declare const emptyLocation: InternalLocation;
21
- //# sourceMappingURL=location.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../../src/net/location.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAa,KAAK,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAG9C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAA;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAC7B;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAE5D;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,GAAG,gBAAgB,CA4BjE;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAA;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAC7B;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,QAAQ,GACjB,gBAAgB,CAMlB;AAED,eAAO,MAAM,aAAa,EAAE,gBAA4C,CAAA"}
@@ -1,41 +0,0 @@
1
- import { parseFragment } from './fragment';
2
- import { parsePath } from './path';
3
- import { formatQueryString, parseAllQueryParams } from './queryparam';
4
- export function formatLocation(loc) {
5
- return `${loc.path.format()}${formatQueryString(loc.queryParams)}${loc.fragment != null ? '#' + loc.fragment.format : ''}`;
6
- }
7
- export function parseInternalLocation(s) {
8
- const fragStart = s.indexOf('#');
9
- let pathAndParams, fragment;
10
- if (fragStart < 0) {
11
- pathAndParams = s;
12
- fragment = undefined;
13
- }
14
- else {
15
- pathAndParams = s.substring(0, fragStart);
16
- fragment = parseFragment(s.substring(fragStart + 1));
17
- }
18
- let path, queryParams;
19
- const paramsStart = pathAndParams.indexOf('?');
20
- if (paramsStart < 0) {
21
- path = parsePath(pathAndParams);
22
- queryParams = [];
23
- }
24
- else {
25
- path = parsePath(pathAndParams.substring(0, paramsStart));
26
- queryParams = parseAllQueryParams(pathAndParams.substring(paramsStart + 1));
27
- }
28
- return {
29
- path,
30
- queryParams,
31
- fragment,
32
- };
33
- }
34
- export function internalLocationFromLocation(location) {
35
- return {
36
- path: location.path,
37
- queryParams: location.queryParams,
38
- fragment: location.fragment,
39
- };
40
- }
41
- export const emptyLocation = parseInternalLocation('');
@@ -1,12 +0,0 @@
1
- export type Path = {
2
- readonly elems: readonly string[];
3
- format(): string;
4
- matches(that: Path): boolean;
5
- };
6
- export declare const emptyPath: {
7
- elems: never[];
8
- format(): string;
9
- matches(that: Path): boolean;
10
- };
11
- export declare function parsePath(s: string): Path;
12
- //# sourceMappingURL=path.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../src/net/path.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG;IACjB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,MAAM,IAAI,MAAM,CAAA;IAChB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,SAAS;;;kBAKN,IAAI,GAAG,OAAO;CAG7B,CAAA;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAuBzC"}
package/dist/net/path.js DELETED
@@ -1,29 +0,0 @@
1
- export const emptyPath = {
2
- elems: [],
3
- format() {
4
- return '';
5
- },
6
- matches(that) {
7
- return that.elems.length === 0;
8
- },
9
- };
10
- export function parsePath(s) {
11
- return {
12
- elems: s.split('/'),
13
- format() {
14
- return this.elems.join('/');
15
- },
16
- matches(that) {
17
- if (this.elems.length !== that.elems.length) {
18
- return false;
19
- }
20
- for (let i = 0; i < this.elems.length; i++) {
21
- if (this.elems[i].toLocaleLowerCase() !==
22
- that.elems[i].toLocaleLowerCase()) {
23
- return false;
24
- }
25
- }
26
- return true;
27
- },
28
- };
29
- }
@@ -1,10 +0,0 @@
1
- export interface QueryParam {
2
- name: string;
3
- value?: string;
4
- format: string;
5
- }
6
- export declare function parseQueryParam(str: string): QueryParam;
7
- export declare function parseAllQueryParams(str: string): readonly QueryParam[];
8
- export declare function formatQueryString(queryParams: readonly QueryParam[]): string;
9
- export declare function findQueryParam(haystack: readonly QueryParam[], predicate: (queryParam: QueryParam) => boolean): QueryParam | undefined;
10
- //# sourceMappingURL=queryparam.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"queryparam.d.ts","sourceRoot":"","sources":["../../src/net/queryparam.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAiBvD;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,UAAU,EAAE,CAItE;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,CAM5E;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,SAAS,UAAU,EAAE,EAC/B,SAAS,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,OAAO,GAC7C,UAAU,GAAG,SAAS,CAExB"}
@@ -1,34 +0,0 @@
1
- export function parseQueryParam(str) {
2
- const eqIndx = str.indexOf('=');
3
- if (eqIndx < 0) {
4
- return {
5
- name: str,
6
- format: str,
7
- };
8
- }
9
- else {
10
- const name = str.substring(0, eqIndx);
11
- const value = str.substring(eqIndx + 1);
12
- return {
13
- name,
14
- value,
15
- format: str,
16
- };
17
- }
18
- }
19
- export function parseAllQueryParams(str) {
20
- const normalizedInput = str.startsWith('?') ? str.substring(1) : str;
21
- const qps = normalizedInput.split('&').filter(s => s.length > 0);
22
- return qps.map(parseQueryParam);
23
- }
24
- export function formatQueryString(queryParams) {
25
- if (queryParams.length === 0) {
26
- return '';
27
- }
28
- else {
29
- return '?' + queryParams.map(qp => qp.format).join('&');
30
- }
31
- }
32
- export function findQueryParam(haystack, predicate) {
33
- return haystack.find(qp => predicate(qp));
34
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAoB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAGtD,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAChD,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEtD,oEAAoE;AACpE,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAE3C,4GAA4G;AAC5G,MAAM,MAAM,QAAQ,CAAC,KAAK,IAAI;IAC5B,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,KAAK,CAAA;CAC7C,CAAA;AA0CD;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAC1B,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,GACtB,CAAC,QAAQ,EAAE,gBAAgB,KAAK,KAAK,GAAG,IAAI,CAG9C;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,KAAK,EAC/B,IAAI,EAAE,MAAM,GACX,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,CAIpC;AAED,qGAAqG;AACrG,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EACnC,IAAI,EAAE,MAAM,GACX,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAE5B;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAChC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,EACvB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9B;IACD,KAAK,CAAC,QAAQ,EAAE,gBAAgB,GAAG,KAAK,GAAG,IAAI,CAAA;IAC/C,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;IACpE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;CACjE,CAeA"}
package/dist/scroll.d.ts DELETED
@@ -1,7 +0,0 @@
1
- export type ScrollElementError = {
2
- _type: 'ScrollElementError';
3
- cause: 'ElementNotFound';
4
- selector: string;
5
- };
6
- export declare function scrollElementError(selector: string): ScrollElementError;
7
- //# sourceMappingURL=scroll.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../src/scroll.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,oBAAoB,CAAA;IAC3B,KAAK,EAAE,iBAAiB,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAEvE"}
package/dist/scroll.js DELETED
@@ -1,3 +0,0 @@
1
- export function scrollElementError(selector) {
2
- return { _type: 'ScrollElementError', cause: 'ElementNotFound', selector };
3
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- export interface SupportsApply {
2
- apply(f: (t: this) => this): this;
3
- applyIf(condition: boolean, f: (self: this) => this): this;
4
- }
5
- export declare function applySupport<T>(): {
6
- apply(this: T, f: (t: T) => T): T;
7
- applyIf(this: T, condition: boolean, f: (t: T) => T): T;
8
- };
9
- //# sourceMappingURL=apply.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../src/utils/apply.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI,CAAA;IACjC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI,CAAA;CAC3D;AAED,wBAAgB,YAAY,CAAC,CAAC;gBAEd,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;kBAGf,CAAC,aAAa,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;EAItD"}
@@ -1,10 +0,0 @@
1
- export function applySupport() {
2
- return {
3
- apply(f) {
4
- return f(this);
5
- },
6
- applyIf(condition, f) {
7
- return condition ? f(this) : this;
8
- },
9
- };
10
- }
@@ -1,22 +0,0 @@
1
- export declare const todo: () => never;
2
- export declare function identity<A>(value: A): A;
3
- export declare function exhaustivenessCheck(value: never): never;
4
- export declare function eq(value1: any, value2: any): boolean;
5
- export declare function isNever<A>(): [A] extends [never] ? true : false;
6
- export type Integer = number & {
7
- __brand: 'Integer';
8
- };
9
- export declare function int(n: number): Integer;
10
- export declare function fold<A, B>(items: A[], initial: B, f: (a: A, b: B) => B): B;
11
- export declare function exists<A>(items: A[], predicate: (item: A) => boolean): boolean;
12
- export declare function stringToInt(s: string): number | undefined;
13
- export declare function toggle<K extends keyof O, O extends Record<K, boolean>>(obj: O, key: K): O;
14
- export declare function zipWithIndex<A>(as: readonly A[]): [A, number][];
15
- export declare function assertDefined<A>(value: A, msg?: string | undefined): asserts value is NonNullable<A>;
16
- export declare function pickFrom<T, K extends keyof T>(obj: T, ...keys: K[]): Pick<T, K>;
17
- export type NonEmptyArray<A> = [A, ...A[]];
18
- export type DeepReadonly<T> = T extends Function ? T : T extends Array<infer U> ? ReadonlyArray<DeepReadonly<U>> : T extends object ? {
19
- readonly [K in keyof T]: DeepReadonly<T[K]>;
20
- } : T;
21
- export declare function filterNot<A>(value: A | undefined, f: (a: A) => boolean): A | undefined;
22
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,EAAE,MAAM,KAExB,CAAA;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAEvC;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAEvD;AAID,wBAAgB,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CA+EpD;AAGD,wBAAgB,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,CAG/D;AAED,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,SAAS,CAAA;CAAE,CAAA;AAErD,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAGtC;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAW1E;AAED,wBAAgB,MAAM,CAAC,CAAC,EACtB,KAAK,EAAE,CAAC,EAAE,EACV,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAC9B,OAAO,CAIT;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOzD;AAED,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,EACpE,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,CAAC,GACL,CAAC,CAKH;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAE/D;AAED,wBAAgB,aAAa,CAAC,CAAC,EAC7B,KAAK,EAAE,CAAC,EACR,GAAG,GAAE,MAAM,GAAG,SAAqB,GAClC,OAAO,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,CAIjC;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,EAC3C,GAAG,EAAE,CAAC,EACN,GAAG,IAAI,EAAE,CAAC,EAAE,GACX,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAQZ;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;AAG1C,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,QAAQ,GAC5C,CAAC,GACD,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtB,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAC9B,CAAC,SAAS,MAAM,GACd;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC/C,CAAC,CAAA;AAET,wBAAgB,SAAS,CAAC,CAAC,EACzB,KAAK,EAAE,CAAC,GAAG,SAAS,EACpB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GACnB,CAAC,GAAG,SAAS,CAMf"}
@@ -1,138 +0,0 @@
1
- export const todo = () => {
2
- throw new Error('Unimplemented');
3
- };
4
- export function identity(value) {
5
- return value;
6
- }
7
- export function exhaustivenessCheck(value) {
8
- throw new Error(`Unhandled: ${value}`);
9
- }
10
- // check two values for deep equality
11
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
- export function eq(value1, value2) {
13
- // check for different types
14
- if (typeof value1 !== typeof value2) {
15
- return false;
16
- }
17
- // null and undefined checks
18
- if (value1 === null) {
19
- return value2 === null;
20
- }
21
- if (value2 === null) {
22
- return false;
23
- }
24
- if (value1 === undefined) {
25
- return value2 === undefined;
26
- }
27
- if (value2 === undefined) {
28
- return false;
29
- }
30
- // ignore functions
31
- if (typeof value1 === 'function') {
32
- return true;
33
- }
34
- // primitive comparison
35
- if (typeof value1 !== 'object') {
36
- return value1 === value2;
37
- }
38
- // recursively compare array items
39
- if (Array.isArray(value1)) {
40
- if (!Array.isArray(value2)) {
41
- return false;
42
- }
43
- if (value1.length != value2.length) {
44
- return false;
45
- }
46
- for (let i = 0; i < value1.length; i++) {
47
- if (!eq(value1[i], value2[i])) {
48
- return false;
49
- }
50
- }
51
- return true;
52
- }
53
- else if (Array.isArray(value2)) {
54
- return false;
55
- }
56
- // recusively compare object key/value pairs
57
- if (typeof value1 === 'object') {
58
- const keys1 = Object.keys(value1);
59
- const keys2 = Object.keys(value2);
60
- if (keys1.length !== keys2.length) {
61
- return false;
62
- }
63
- for (const key of keys1) {
64
- if (!Object.prototype.hasOwnProperty.call(value2, key)) {
65
- return false;
66
- }
67
- if (!eq(value1[key], value2[key])) {
68
- return false;
69
- }
70
- }
71
- return true;
72
- }
73
- // if we get this far, we're working with some other type. Its hacky but we'll
74
- // just compare the string representations
75
- return `${value1}` === `${value2}`;
76
- }
77
- // returns false but lets us narrow types
78
- export function isNever() {
79
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
80
- return false;
81
- }
82
- export function int(n) {
83
- if (Number.isInteger(n))
84
- return n;
85
- else
86
- throw new Error(`Not an integer: ${n}`);
87
- }
88
- export function fold(items, initial, f) {
89
- let b = initial;
90
- let index = 0;
91
- while (index < items.length) {
92
- b = f(items[index], b);
93
- index++;
94
- }
95
- return b;
96
- }
97
- export function exists(items, predicate) {
98
- return fold(items, false, (item, acc) => {
99
- return acc || predicate(item);
100
- });
101
- }
102
- export function stringToInt(s) {
103
- const result = Number.parseInt(s);
104
- if (Number.isNaN(result)) {
105
- return undefined;
106
- }
107
- else {
108
- return result;
109
- }
110
- }
111
- export function toggle(obj, key) {
112
- return {
113
- ...obj,
114
- [key]: !obj[key],
115
- };
116
- }
117
- export function zipWithIndex(as) {
118
- return as.map((a, i) => [a, i]);
119
- }
120
- export function assertDefined(value, msg = undefined) {
121
- if (value === null || value === undefined) {
122
- throw new Error(msg ? msg : 'assertDefined failed');
123
- }
124
- }
125
- export function pickFrom(obj, ...keys) {
126
- return keys.reduce((acc, key) => {
127
- acc[key] = obj[key];
128
- return acc;
129
- }, {});
130
- }
131
- export function filterNot(value, f) {
132
- if (value !== undefined) {
133
- return f(value) ? undefined : value;
134
- }
135
- else {
136
- return undefined;
137
- }
138
- }
@@ -1,18 +0,0 @@
1
- /** A pair of get/set functions that focus on a field `A` within a structure `S`. */
2
- export type Lens<S, A> = {
3
- /** Reads the focused field from `S`. */
4
- get: (source: S) => A;
5
- /** Returns a new `S` with the focused field replaced. */
6
- set: (source: S, value: A) => S;
7
- };
8
- /** Creates a Lens focused on a single property of `S`. Usage: `lensFromProp<S>()('propName')`. */
9
- export declare function lensFromProp<S>(): <K extends keyof S>(key: K) => Lens<S, S[K]>;
10
- export type PathValue<S, Keys extends readonly any[]> = Keys extends [
11
- infer K,
12
- ...infer Rest
13
- ] ? K extends keyof S ? Rest extends [] ? S[K] : PathValue<S[K], Rest> : never : S;
14
- /** Creates a Lens focused on a nested path within `S`. Usage: `lensFromPath<S>()('a', 'b', 'c')`. */
15
- export declare function lensFromPath<S>(): <Keys extends readonly (keyof any)[]>(...keys: [...Keys]) => Lens<S, PathValue<S, Keys>>;
16
- /** Composes two lenses, focusing first through `ab` then through `bc`. */
17
- export declare function composeLenses<A, B, C>(ab: Lens<A, B>, bc: Lens<B, C>): Lens<A, C>;
18
- //# sourceMappingURL=lens.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lens.d.ts","sourceRoot":"","sources":["../../src/utils/lens.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,MAAM,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI;IACvB,wCAAwC;IACxC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAA;IACrB,yDAAyD;IACzD,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAA;CAChC,CAAA;AAED,kGAAkG;AAClG,wBAAgB,YAAY,CAAC,CAAC,MACpB,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,CAAC,KAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAIlD;AAGD,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,IAAI,SAAS,SAAS,GAAG,EAAE,IAAI,IAAI,SAAS;IACnE,MAAM,CAAC;IACP,GAAG,MAAM,IAAI;CACd,GACG,CAAC,SAAS,MAAM,CAAC,GACf,IAAI,SAAS,EAAE,GACb,CAAC,CAAC,CAAC,CAAC,GACJ,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GACvB,KAAK,GACP,CAAC,CAAA;AAEL,qGAAqG;AACrG,wBAAgB,YAAY,CAAC,CAAC,MAEpB,IAAI,SAAS,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,EACzC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,KACjB,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAS/B;AAED,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACnC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EACd,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACb,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAKZ"}
@@ -1,27 +0,0 @@
1
- /** Creates a Lens focused on a single property of `S`. Usage: `lensFromProp<S>()('propName')`. */
2
- export function lensFromProp() {
3
- return (key) => ({
4
- get: s => s[key],
5
- set: (s, a) => ({ ...s, [key]: a }),
6
- });
7
- }
8
- /** Creates a Lens focused on a nested path within `S`. Usage: `lensFromPath<S>()('a', 'b', 'c')`. */
9
- export function lensFromPath() {
10
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
11
- return (...keys) => {
12
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
- let lens = lensFromProp()(keys[0]);
14
- for (let i = 1; i < keys.length; i++) {
15
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
- lens = composeLenses(lens, lensFromProp()(keys[i]));
17
- }
18
- return lens;
19
- };
20
- }
21
- /** Composes two lenses, focusing first through `ab` then through `bc`. */
22
- export function composeLenses(ab, bc) {
23
- return {
24
- get: a => bc.get(ab.get(a)),
25
- set: (a, c) => ab.set(a, bc.set(ab.get(a), c)),
26
- };
27
- }
@@ -1,17 +0,0 @@
1
- /** Intermediate builder returned by `match(x)` — call `.on(key)` to specify the discriminant. */
2
- export type MatcherScrutinee<UnionType> = {
3
- scrutinee: UnionType;
4
- on<DiscriminantKey extends keyof UnionType>(k: DiscriminantKey): MatcherScrutineeAndDiscriminantKey<UnionType, DiscriminantKey>;
5
- };
6
- /** Intermediate builder returned by `match(x).on(key)` — call `.with(handlers)` to complete the match. */
7
- export type MatcherScrutineeAndDiscriminantKey<UnionType, DiscriminantKey extends keyof UnionType> = {
8
- scrutinee: UnionType;
9
- key: DiscriminantKey;
10
- /** Dispatches to the handler for the matching variant and returns its result. */
11
- with<Result>(handlers: {
12
- [K in UnionType[DiscriminantKey] & string]: (v: Extract<UnionType, Record<DiscriminantKey, K>>) => Result;
13
- }): Result;
14
- };
15
- /** Starts a type-safe exhaustive match on `scrutinee`. */
16
- export declare function match<UnionType>(scrutinee: UnionType): MatcherScrutinee<UnionType>;
17
- //# sourceMappingURL=match.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../src/utils/match.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,MAAM,MAAM,gBAAgB,CAAC,SAAS,IAAI;IACxC,SAAS,EAAE,SAAS,CAAA;IAEpB,EAAE,CAAC,eAAe,SAAS,MAAM,SAAS,EACxC,CAAC,EAAE,eAAe,GACjB,kCAAkC,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;CAClE,CAAA;AAED,0GAA0G;AAC1G,MAAM,MAAM,kCAAkC,CAC5C,SAAS,EACT,eAAe,SAAS,MAAM,SAAS,IACrC;IACF,SAAS,EAAE,SAAS,CAAA;IACpB,GAAG,EAAE,eAAe,CAAA;IACpB,iFAAiF;IACjF,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE;SACpB,CAAC,IAAI,SAAS,CAAC,eAAe,CAAC,GAAG,MAAM,GAAG,CAC1C,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,KAC9C,MAAM;KACZ,GAAG,MAAM,CAAA;CACX,CAAA;AAED,0DAA0D;AAC1D,wBAAgB,KAAK,CAAC,SAAS,EAC7B,SAAS,EAAE,SAAS,GACnB,gBAAgB,CAAC,SAAS,CAAC,CAsB7B"}
@@ -1,28 +0,0 @@
1
- /** Starts a type-safe exhaustive match on `scrutinee`. */
2
- export function match(scrutinee) {
3
- return {
4
- scrutinee,
5
- on(key) {
6
- return {
7
- scrutinee,
8
- key,
9
- with(handlers) {
10
- const k = scrutinee[key];
11
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
- return handlers[k](scrutinee);
13
- },
14
- };
15
- },
16
- };
17
- }
18
- const shape = { kind: 'circle', radius: 5 };
19
- function logShape(shape) {
20
- match(shape)
21
- .on('kind')
22
- .with({
23
- circle: shape => console.log('circle of radius: ' + shape.radius),
24
- square: shape => console.log('square of size ' + shape.size),
25
- triangle: shape => console.log(`triangle with base ${shape.base} and height ${shape.height}`),
26
- });
27
- }
28
- logShape(shape);