ctrl-fx 0.1.0 → 0.1.2
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.
- package/README.md +13 -0
- package/dist/chunk-BDTTV33M.js +4050 -0
- package/dist/chunk-EKBLRHWK.js +916 -0
- package/dist/chunk-OSIRHKDB.js +1812 -0
- package/dist/chunk-PKBMQBKP.js +7 -0
- package/dist/chunk-XICUXW4T.js +252 -0
- package/dist/db/index.d.ts +218 -16
- package/dist/db/index.js +53 -19
- package/dist/dom/index.d.ts +2 -248
- package/dist/dom/index.js +30 -266
- package/dist/effects.d.ts +2 -580
- package/dist/effects.js +111 -1556
- package/dist/index-DeEjNrg-.d.ts +1399 -0
- package/dist/index.d.ts +2 -41
- package/dist/index.js +18 -78
- package/dist/router.d.ts +11 -12
- package/dist/router.js +57 -68
- package/dist/testing.d.ts +67 -60
- package/dist/testing.js +46 -158
- package/dist/webcomponent.d.ts +7 -4
- package/dist/webcomponent.js +48 -40
- package/package.json +4 -3
- package/dist/clipboard.d.ts +0 -7
- package/dist/clipboard.d.ts.map +0 -1
- package/dist/clipboard.js +0 -3
- package/dist/db/effects.d.ts +0 -78
- package/dist/db/effects.d.ts.map +0 -1
- package/dist/db/effects.js +0 -98
- package/dist/db/errors.d.ts +0 -21
- package/dist/db/errors.d.ts.map +0 -1
- package/dist/db/errors.js +0 -13
- package/dist/db/index.d.ts.map +0 -1
- package/dist/db/keypath.d.ts +0 -40
- package/dist/db/keypath.d.ts.map +0 -1
- package/dist/db/keypath.js +0 -20
- package/dist/db/setup.d.ts +0 -83
- package/dist/db/setup.d.ts.map +0 -1
- package/dist/db/setup.js +0 -100
- package/dist/db/testdb.d.ts +0 -19
- package/dist/db/testdb.d.ts.map +0 -1
- package/dist/db/testdb.js +0 -34
- package/dist/dom/attrs.d.ts +0 -67
- package/dist/dom/attrs.d.ts.map +0 -1
- package/dist/dom/attrs.js +0 -154
- package/dist/dom/components.d.ts +0 -43
- package/dist/dom/components.d.ts.map +0 -1
- package/dist/dom/components.js +0 -86
- package/dist/dom/elems.d.ts +0 -121
- package/dist/dom/elems.d.ts.map +0 -1
- package/dist/dom/elems.js +0 -52
- package/dist/dom/events.d.ts +0 -232
- package/dist/dom/events.d.ts.map +0 -1
- package/dist/dom/events.js +0 -289
- package/dist/dom/index.d.ts.map +0 -1
- package/dist/dom/nodeid.d.ts +0 -9
- package/dist/dom/nodeid.d.ts.map +0 -1
- package/dist/dom/nodeid.js +0 -27
- package/dist/dom/svg.d.ts +0 -23
- package/dist/dom/svg.d.ts.map +0 -1
- package/dist/dom/svg.js +0 -1
- package/dist/dom/views.d.ts +0 -60
- package/dist/dom/views.d.ts.map +0 -1
- package/dist/dom/views.js +0 -154
- package/dist/effects.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/internal/clipboard.d.ts +0 -5
- package/dist/internal/clipboard.d.ts.map +0 -1
- package/dist/internal/clipboard.js +0 -33
- package/dist/internal/cmpmgr.d.ts +0 -46
- package/dist/internal/cmpmgr.d.ts.map +0 -1
- package/dist/internal/cmpmgr.js +0 -561
- package/dist/internal/dbmgr.d.ts +0 -11
- package/dist/internal/dbmgr.d.ts.map +0 -1
- package/dist/internal/dbmgr.js +0 -200
- package/dist/internal/dominterpreter.d.ts +0 -5
- package/dist/internal/dominterpreter.d.ts.map +0 -1
- package/dist/internal/dominterpreter.js +0 -337
- package/dist/internal/eventmgr.d.ts +0 -41
- package/dist/internal/eventmgr.d.ts.map +0 -1
- package/dist/internal/eventmgr.js +0 -696
- package/dist/internal/index.d.ts +0 -19
- package/dist/internal/index.d.ts.map +0 -1
- package/dist/internal/index.js +0 -38
- package/dist/internal/interpreter.d.ts +0 -10
- package/dist/internal/interpreter.d.ts.map +0 -1
- package/dist/internal/interpreter.js +0 -1
- package/dist/internal/locutils.d.ts +0 -4
- package/dist/internal/locutils.d.ts.map +0 -1
- package/dist/internal/locutils.js +0 -22
- package/dist/internal/net.d.ts +0 -4
- package/dist/internal/net.d.ts.map +0 -1
- package/dist/internal/net.js +0 -64
- package/dist/internal/realdom.d.ts +0 -249
- package/dist/internal/realdom.d.ts.map +0 -1
- package/dist/internal/realdom.js +0 -1
- package/dist/internal/styleregistry.d.ts +0 -6
- package/dist/internal/styleregistry.d.ts.map +0 -1
- package/dist/internal/styleregistry.js +0 -18
- package/dist/internal/taskreg.d.ts +0 -9
- package/dist/internal/taskreg.d.ts.map +0 -1
- package/dist/internal/taskreg.js +0 -28
- package/dist/internal/testing.d.ts +0 -12
- package/dist/internal/testing.d.ts.map +0 -1
- package/dist/internal/testing.js +0 -974
- package/dist/internal/testinginterpreter.d.ts +0 -10
- package/dist/internal/testinginterpreter.d.ts.map +0 -1
- package/dist/internal/testinginterpreter.js +0 -646
- package/dist/internal/vdom.d.ts +0 -93
- package/dist/internal/vdom.d.ts.map +0 -1
- package/dist/internal/vdom.js +0 -470
- package/dist/json/index.d.ts +0 -5
- package/dist/json/index.d.ts.map +0 -1
- package/dist/json/index.js +0 -2
- package/dist/json/validation.d.ts +0 -28
- package/dist/json/validation.d.ts.map +0 -1
- package/dist/json/validation.js +0 -8
- package/dist/net/fragment.d.ts +0 -10
- package/dist/net/fragment.d.ts.map +0 -1
- package/dist/net/fragment.js +0 -27
- package/dist/net/index.d.ts +0 -42
- package/dist/net/index.d.ts.map +0 -1
- package/dist/net/index.js +0 -60
- package/dist/net/location.d.ts +0 -21
- package/dist/net/location.d.ts.map +0 -1
- package/dist/net/location.js +0 -41
- package/dist/net/path.d.ts +0 -12
- package/dist/net/path.d.ts.map +0 -1
- package/dist/net/path.js +0 -29
- package/dist/net/queryparam.d.ts +0 -10
- package/dist/net/queryparam.d.ts.map +0 -1
- package/dist/net/queryparam.js +0 -34
- package/dist/router.d.ts.map +0 -1
- package/dist/scroll.d.ts +0 -7
- package/dist/scroll.d.ts.map +0 -1
- package/dist/scroll.js +0 -3
- package/dist/testing.d.ts.map +0 -1
- package/dist/utils/apply.d.ts +0 -9
- package/dist/utils/apply.d.ts.map +0 -1
- package/dist/utils/apply.js +0 -10
- package/dist/utils/index.d.ts +0 -22
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -138
- package/dist/utils/lens.d.ts +0 -18
- package/dist/utils/lens.d.ts.map +0 -1
- package/dist/utils/lens.js +0 -27
- package/dist/utils/match.d.ts +0 -17
- package/dist/utils/match.d.ts.map +0 -1
- package/dist/utils/match.js +0 -28
- package/dist/utils/result.d.ts +0 -47
- package/dist/utils/result.d.ts.map +0 -1
- package/dist/utils/result.js +0 -97
- package/dist/webcomponent.d.ts.map +0 -1
package/dist/net/index.d.ts
DELETED
|
@@ -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
|
package/dist/net/index.d.ts.map
DELETED
|
@@ -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
|
-
}
|
package/dist/net/location.d.ts
DELETED
|
@@ -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"}
|
package/dist/net/location.js
DELETED
|
@@ -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('');
|
package/dist/net/path.d.ts
DELETED
|
@@ -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
|
package/dist/net/path.d.ts.map
DELETED
|
@@ -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
|
-
}
|
package/dist/net/queryparam.d.ts
DELETED
|
@@ -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"}
|
package/dist/net/queryparam.js
DELETED
|
@@ -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
|
-
}
|
package/dist/router.d.ts.map
DELETED
|
@@ -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
package/dist/scroll.d.ts.map
DELETED
|
@@ -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
package/dist/testing.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/apply.d.ts
DELETED
|
@@ -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"}
|
package/dist/utils/apply.js
DELETED
package/dist/utils/index.d.ts
DELETED
|
@@ -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"}
|
package/dist/utils/index.js
DELETED
|
@@ -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
|
-
}
|
package/dist/utils/lens.d.ts
DELETED
|
@@ -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
|
package/dist/utils/lens.d.ts.map
DELETED
|
@@ -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"}
|
package/dist/utils/lens.js
DELETED
|
@@ -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
|
-
}
|
package/dist/utils/match.d.ts
DELETED
|
@@ -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"}
|
package/dist/utils/match.js
DELETED
|
@@ -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);
|