jikan0 0.0.4 → 0.0.6
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 +1 -1
- package/adapters/fsm/README.md +3 -0
- package/adapters/fsm/package.json +11 -0
- package/adapters/fsm/src/index.d.ts +1 -0
- package/adapters/fsm/src/index.js +5 -0
- package/adapters/fsm/src/index.js.map +1 -0
- package/adapters/fsm/src/lib/fsm.d.ts +26 -0
- package/adapters/fsm/src/lib/fsm.js +106 -0
- package/adapters/fsm/src/lib/fsm.js.map +1 -0
- package/adapters/fsm/test-utils/README.md +11 -0
- package/adapters/fsm/test-utils/package.json +11 -0
- package/adapters/fsm/test-utils/src/index.d.ts +1 -0
- package/adapters/fsm/test-utils/src/index.js +5 -0
- package/adapters/fsm/test-utils/src/index.js.map +1 -0
- package/adapters/fsm/test-utils/src/lib/testUtils.d.ts +4 -0
- package/adapters/fsm/test-utils/src/lib/testUtils.js +32 -0
- package/adapters/fsm/test-utils/src/lib/testUtils.js.map +1 -0
- package/adapters/fsm/utils/README.md +11 -0
- package/adapters/fsm/utils/package.json +10 -0
- package/adapters/fsm/utils/src/index.d.ts +1 -0
- package/adapters/fsm/utils/src/index.js +5 -0
- package/adapters/fsm/utils/src/index.js.map +1 -0
- package/adapters/fsm/utils/src/lib/utils.d.ts +6 -0
- package/adapters/fsm/utils/src/lib/utils.js +29 -0
- package/adapters/fsm/utils/src/lib/utils.js.map +1 -0
- package/adapters/package.json +1 -3
- package/adapters/src/index.js.map +1 -1
- package/adapters/src/lib/statefulSimulation.d.ts +1 -1
- package/adapters/src/lib/statefulSimulation.js +1 -1
- package/adapters/src/lib/statefulSimulation.js.map +1 -1
- package/adapters/test-utils/README.md +11 -0
- package/adapters/test-utils/package.json +11 -0
- package/adapters/test-utils/src/index.d.ts +1 -0
- package/adapters/test-utils/src/index.js +5 -0
- package/adapters/test-utils/src/index.js.map +1 -0
- package/adapters/test-utils/src/lib/testUtils.d.ts +4 -0
- package/adapters/test-utils/src/lib/testUtils.js +32 -0
- package/adapters/test-utils/src/lib/testUtils.js.map +1 -0
- package/adapters/utils/README.md +11 -0
- package/adapters/utils/package.json +10 -0
- package/adapters/utils/src/index.d.ts +1 -0
- package/adapters/utils/src/index.js +5 -0
- package/adapters/utils/src/index.js.map +1 -0
- package/adapters/utils/src/lib/utils.d.ts +6 -0
- package/adapters/utils/src/lib/utils.js +29 -0
- package/adapters/utils/src/lib/utils.js.map +1 -0
- package/fsm/package.json +0 -1
- package/fsm/src/index.js.map +1 -1
- package/fsm/src/lib/fsm.js.map +1 -1
- package/fsm/test-utils/README.md +11 -0
- package/fsm/test-utils/package.json +11 -0
- package/fsm/test-utils/src/index.d.ts +1 -0
- package/fsm/test-utils/src/index.js +5 -0
- package/fsm/test-utils/src/index.js.map +1 -0
- package/fsm/test-utils/src/lib/testUtils.d.ts +4 -0
- package/fsm/test-utils/src/lib/testUtils.js +32 -0
- package/fsm/test-utils/src/lib/testUtils.js.map +1 -0
- package/fsm/utils/README.md +11 -0
- package/fsm/utils/package.json +10 -0
- package/fsm/utils/src/index.d.ts +1 -0
- package/fsm/utils/src/index.js +5 -0
- package/fsm/utils/src/index.js.map +1 -0
- package/fsm/utils/src/lib/utils.d.ts +6 -0
- package/fsm/utils/src/lib/utils.js +29 -0
- package/fsm/utils/src/lib/utils.js.map +1 -0
- package/package.json +2 -4
package/README.md
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './lib/fsm';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../fsm/src/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare const showPrintDuration0QueueItemError: (queueItem: QueueItem<string>) => string;
|
|
2
|
+
export type QueueItem<Kind extends string = string> = {
|
|
3
|
+
kind: Kind;
|
|
4
|
+
duration: number;
|
|
5
|
+
};
|
|
6
|
+
export declare const eqQueueItem: <Kind extends string>(b: QueueItem<Kind>) => (a: QueueItem<Kind>) => boolean;
|
|
7
|
+
type Queue<Kind extends string = string> = readonly QueueItem<Kind>[];
|
|
8
|
+
export type EmptyState = {
|
|
9
|
+
duration: 0;
|
|
10
|
+
queue: readonly [];
|
|
11
|
+
};
|
|
12
|
+
export type NonEmptyState<Kind extends string> = {
|
|
13
|
+
duration: number;
|
|
14
|
+
queue: readonly [QueueItem<Kind>, ...Queue<Kind>];
|
|
15
|
+
};
|
|
16
|
+
export type State<Kind extends string = string> = NonEmptyState<Kind> | EmptyState;
|
|
17
|
+
export declare const empty: <Kind extends string>() => State<Kind>;
|
|
18
|
+
export declare const isEmpty: <Kind extends string>(state: State<Kind>) => state is EmptyState;
|
|
19
|
+
export declare const restart: <Kind extends string>(state: State<Kind>) => State<Kind>;
|
|
20
|
+
export declare const reset: <Kind extends string>(_state: State<Kind>) => State<Kind>;
|
|
21
|
+
export declare const push: <Kind_ extends string>(qx_: Queue<Kind_>) => <Kind extends string>(state: State<Kind_ extends Kind ? Kind : never>) => State<Kind_ | Kind>;
|
|
22
|
+
export declare const pop: <Kind extends string>(state: State<Kind>) => [State<Kind>, QueueItem<Kind> | null];
|
|
23
|
+
export declare const currentNE: <Kind extends string>(state: NonEmptyState<Kind>) => QueueItem<Kind>;
|
|
24
|
+
export declare const current: <Kind extends string>(state: State<Kind>) => QueueItem<Kind> | null;
|
|
25
|
+
export declare const tick: (step: number) => <Kind extends string>(state: State<Kind>) => [State<Kind>, QueueItem<Kind>[]];
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.tick = exports.current = exports.currentNE = exports.pop = exports.push = exports.reset = exports.restart = exports.isEmpty = exports.empty = exports.eqQueueItem = exports.showPrintDuration0QueueItemError = void 0;
|
|
4
|
+
const utils_1 = require("@jikan0/utils");
|
|
5
|
+
let duration0QueueItemErrorShown = false;
|
|
6
|
+
const printDuration0QueueItemError = (queueItem) => {
|
|
7
|
+
if (!duration0QueueItemErrorShown) {
|
|
8
|
+
duration0QueueItemErrorShown = true;
|
|
9
|
+
console.warn((0, exports.showPrintDuration0QueueItemError)(queueItem));
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
const showPrintDuration0QueueItemError = (queueItem) => `duration <= 0 queue item provided: ${showQueueItem(queueItem)}; this is not an error, but it is not recommended; the item will be ignored`;
|
|
13
|
+
exports.showPrintDuration0QueueItemError = showPrintDuration0QueueItemError;
|
|
14
|
+
const showQueueItem = (queueItem) => `${queueItem.kind}(${queueItem.duration})`;
|
|
15
|
+
// not entirely reliable (same kind+duration don't mean same item in general) but good enough for our purposes
|
|
16
|
+
const eqQueueItem = (b) => (a) => a.kind === b.kind && a.duration === b.duration;
|
|
17
|
+
exports.eqQueueItem = eqQueueItem;
|
|
18
|
+
const empty_ = {
|
|
19
|
+
duration: 0,
|
|
20
|
+
queue: Object.freeze([]),
|
|
21
|
+
};
|
|
22
|
+
const empty = () => empty_;
|
|
23
|
+
exports.empty = empty;
|
|
24
|
+
const isEmpty = (state) => state.queue.length === 0 && (0, utils_1.assertTrue)(/*defensive*/ state.duration === 0);
|
|
25
|
+
exports.isEmpty = isEmpty;
|
|
26
|
+
const restart = (state) => !(0, utils_1.isRNEA)(state.queue) /*nothing to restart*/
|
|
27
|
+
? state
|
|
28
|
+
: {
|
|
29
|
+
queue: state.queue,
|
|
30
|
+
duration: (0, utils_1.lastNEA)(state.queue).duration,
|
|
31
|
+
};
|
|
32
|
+
exports.restart = restart;
|
|
33
|
+
const reset = (_state) => (0, exports.empty)();
|
|
34
|
+
exports.reset = reset;
|
|
35
|
+
const push = (qx_) => (state) => {
|
|
36
|
+
const qx = Object.freeze(
|
|
37
|
+
/*just to cast to RA*/ qx_
|
|
38
|
+
.filter((x) => {
|
|
39
|
+
if (x.duration > 0)
|
|
40
|
+
return true;
|
|
41
|
+
printDuration0QueueItemError(x);
|
|
42
|
+
return false;
|
|
43
|
+
})
|
|
44
|
+
.reverse());
|
|
45
|
+
if (!(0, utils_1.isRNEA)(qx))
|
|
46
|
+
return state; // noop
|
|
47
|
+
return Object.freeze({
|
|
48
|
+
duration: state.duration &&
|
|
49
|
+
(0, utils_1.assertTrue)(
|
|
50
|
+
/*defensive; duration 0 means queue is []*/ (0, utils_1.isRNEA)(state.queue))
|
|
51
|
+
? state.duration
|
|
52
|
+
: (0, utils_1.lastNEA)(qx).duration,
|
|
53
|
+
queue: (0, utils_1.assertRNEA)(Object.freeze([...qx, ...state.queue])),
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
exports.push = push;
|
|
57
|
+
const popQueue = (queue) => [
|
|
58
|
+
Object.freeze(queue.slice(0, -1)),
|
|
59
|
+
(0, utils_1.last)(queue),
|
|
60
|
+
];
|
|
61
|
+
const pop = (state) => {
|
|
62
|
+
const [queue, queueItem] = popQueue(state.queue);
|
|
63
|
+
if (!(0, utils_1.isRNEA)(queue))
|
|
64
|
+
return [(0, exports.empty)(), queueItem];
|
|
65
|
+
return [
|
|
66
|
+
Object.freeze({
|
|
67
|
+
duration: (0, utils_1.lastNEA)(queue).duration,
|
|
68
|
+
queue,
|
|
69
|
+
}),
|
|
70
|
+
queueItem,
|
|
71
|
+
];
|
|
72
|
+
};
|
|
73
|
+
exports.pop = pop;
|
|
74
|
+
const currentNE = (state) => (Object.assign(Object.assign({}, (0, utils_1.lastNEA)(state.queue)), {
|
|
75
|
+
// users are interested in current left duration, not the programmed one
|
|
76
|
+
duration: state.duration }));
|
|
77
|
+
exports.currentNE = currentNE;
|
|
78
|
+
const current = (state) => ((0, exports.isEmpty)(state) ? null : (0, exports.currentNE)(state));
|
|
79
|
+
exports.current = current;
|
|
80
|
+
const tick = (step /*no check, because 0s and negatives are all right, theoretically*/) => (state) => {
|
|
81
|
+
const tick_ = (step, state, acc) => {
|
|
82
|
+
if (step === 0)
|
|
83
|
+
return [state, acc]; // noop
|
|
84
|
+
if ((0, exports.isEmpty)(state))
|
|
85
|
+
return [state, acc]; // noop
|
|
86
|
+
const duration = state.duration - step;
|
|
87
|
+
return duration <= 0 /*handle overshoots*/
|
|
88
|
+
? (() => {
|
|
89
|
+
const [state1, queueItem] = (0, exports.pop)(state);
|
|
90
|
+
if (queueItem !== null)
|
|
91
|
+
acc.push(queueItem);
|
|
92
|
+
return tick_(-duration, state1, acc);
|
|
93
|
+
})()
|
|
94
|
+
: [
|
|
95
|
+
Object.freeze({
|
|
96
|
+
queue: state.queue,
|
|
97
|
+
/*normal case*/
|
|
98
|
+
duration,
|
|
99
|
+
}),
|
|
100
|
+
acc,
|
|
101
|
+
];
|
|
102
|
+
};
|
|
103
|
+
return tick_(step, state, []);
|
|
104
|
+
};
|
|
105
|
+
exports.tick = tick;
|
|
106
|
+
//# sourceMappingURL=fsm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fsm.js","sourceRoot":"","sources":["../../../../../fsm/src/lib/fsm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './lib/testUtils';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../test-utils/src/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BASIC_EXERCISE_PROGRAM = void 0;
|
|
4
|
+
exports.BASIC_EXERCISE_PROGRAM = (() => {
|
|
5
|
+
const ROUND_TYPES = ['warmup', 'exercise', 'rest', 'cooldown'];
|
|
6
|
+
const ONE_MINUTE = 60 * 1000;
|
|
7
|
+
const TOTAL_ROUNDS = 10;
|
|
8
|
+
const WARMUP_DURATION = 5 * ONE_MINUTE;
|
|
9
|
+
const EXERCISE_DURATION = 3 * ONE_MINUTE;
|
|
10
|
+
// noinspection PointlessArithmeticExpressionJS
|
|
11
|
+
const REST_DURATION = 1 * ONE_MINUTE;
|
|
12
|
+
const COOLDOWN_DURATION = 5 * ONE_MINUTE;
|
|
13
|
+
const DURATIONS = {
|
|
14
|
+
warmup: WARMUP_DURATION,
|
|
15
|
+
exercise: EXERCISE_DURATION,
|
|
16
|
+
rest: REST_DURATION,
|
|
17
|
+
cooldown: COOLDOWN_DURATION,
|
|
18
|
+
};
|
|
19
|
+
return [...Array(TOTAL_ROUNDS + 2 /*warmup/cooldown*/).keys()]
|
|
20
|
+
.map((i) => i === 0
|
|
21
|
+
? 'warmup'
|
|
22
|
+
: i === TOTAL_ROUNDS + 1
|
|
23
|
+
? 'cooldown'
|
|
24
|
+
: i % 2 === 1
|
|
25
|
+
? 'exercise'
|
|
26
|
+
: 'rest')
|
|
27
|
+
.map((kind) => ({
|
|
28
|
+
kind,
|
|
29
|
+
duration: DURATIONS[kind],
|
|
30
|
+
}));
|
|
31
|
+
})();
|
|
32
|
+
//# sourceMappingURL=testUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../../../../test-utils/src/lib/testUtils.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,CAAC,GAAG,EAAE;IAC1C,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAU,CAAC;IAExE,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC;IAC7B,MAAM,YAAY,GAAG,EAAE,CAAC;IACxB,MAAM,eAAe,GAAG,CAAC,GAAG,UAAU,CAAC;IACvC,MAAM,iBAAiB,GAAG,CAAC,GAAG,UAAU,CAAC;IACzC,+CAA+C;IAC/C,MAAM,aAAa,GAAG,CAAC,GAAG,UAAU,CAAC;IACrC,MAAM,iBAAiB,GAAG,CAAC,GAAG,UAAU,CAAC;IACzC,MAAM,SAAS,GAEX;QACF,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,iBAAiB;QAC3B,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,iBAAiB;KAC5B,CAAC;IACF,OAAO,CAAC,GAAG,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE,CAAC;SAC3D,GAAG,CACF,CAAC,CAAC,EAAa,EAAE,CACf,CAAC,KAAK,CAAC;QACL,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC;YACxB,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;gBACb,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,MAAM,CACb;SACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,IAAI;QACJ,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC;KAC1B,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './lib/utils';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../utils/src/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const isRNEA: <T>(a: readonly T[]) => a is readonly [T, ...T[]];
|
|
2
|
+
export declare const assertRNEA: <T>(a: readonly T[]) => readonly [T, ...T[]];
|
|
3
|
+
export declare const last: <T>(a: readonly T[] | T[]) => T | null;
|
|
4
|
+
export declare const lastNEA: <T>(a: readonly [T, ...T[]]) => T;
|
|
5
|
+
export declare const assertTrue: (b: boolean) => true;
|
|
6
|
+
export declare const assertExists: <T>(x: T | null | undefined) => T;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertExists = exports.assertTrue = exports.lastNEA = exports.last = exports.assertRNEA = exports.isRNEA = void 0;
|
|
4
|
+
// RNEA is read only non-empty array
|
|
5
|
+
const isRNEA = (a) => a.length > 0;
|
|
6
|
+
exports.isRNEA = isRNEA;
|
|
7
|
+
const assertRNEA = (a) => {
|
|
8
|
+
if (!(0, exports.isRNEA)(a))
|
|
9
|
+
throw new Error('panic! assertion RNEA failed');
|
|
10
|
+
return a;
|
|
11
|
+
};
|
|
12
|
+
exports.assertRNEA = assertRNEA;
|
|
13
|
+
const last = (a) => (0, exports.isRNEA)(a) ? a[a.length - 1] : null;
|
|
14
|
+
exports.last = last;
|
|
15
|
+
const lastNEA = (a) => a[a.length - 1];
|
|
16
|
+
exports.lastNEA = lastNEA;
|
|
17
|
+
const assertTrue = (b) => {
|
|
18
|
+
if (!b)
|
|
19
|
+
throw new Error('panic! assertion true failed');
|
|
20
|
+
return true;
|
|
21
|
+
};
|
|
22
|
+
exports.assertTrue = assertTrue;
|
|
23
|
+
const assertExists = (x) => {
|
|
24
|
+
if (x === null || x === undefined)
|
|
25
|
+
throw new Error('panic! assertion exists failed');
|
|
26
|
+
return x;
|
|
27
|
+
};
|
|
28
|
+
exports.assertExists = assertExists;
|
|
29
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../utils/src/lib/utils.ts"],"names":[],"mappings":";;;AAAA,oCAAoC;AAC7B,MAAM,MAAM,GAAG,CAAI,CAAe,EAA6B,EAAE,CACtE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AADF,QAAA,MAAM,UACJ;AACR,MAAM,UAAU,GAAG,CAAI,CAAe,EAAwB,EAAE;IACrE,IAAI,CAAC,IAAA,cAAM,EAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAChE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAHW,QAAA,UAAU,cAGrB;AAEK,MAAM,IAAI,GAAG,CAAI,CAAqB,EAAY,EAAE,CACzD,IAAA,cAAM,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AADxB,QAAA,IAAI,QACoB;AAC9B,MAAM,OAAO,GAAG,CAAI,CAAuB,EAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAA7D,QAAA,OAAO,WAAsD;AAEnE,MAAM,UAAU,GAAG,CAAC,CAAU,EAAQ,EAAE;IAC7C,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACxD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAHW,QAAA,UAAU,cAGrB;AAEK,MAAM,YAAY,GAAG,CAAI,CAAuB,EAAK,EAAE;IAC5D,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;QAC/B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAJW,QAAA,YAAY,gBAIvB"}
|
package/adapters/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../adapters/src/index.ts"],"names":[],"mappings":";;;AAAA,+DAA8D;AAArD,wHAAA,kBAAkB,OAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { QueueItem, State } from "
|
|
1
|
+
import { QueueItem, State } from "../../fsm/src";
|
|
2
2
|
export declare const StatefulSimulation: {
|
|
3
3
|
new <QueueItemType extends string = string>(queue: QueueItem<QueueItemType>[], opts?: {
|
|
4
4
|
leniency?: number | undefined;
|
|
@@ -3,7 +3,7 @@ var _state, _setState, _state0, _intervalHandle, _changeListeners, _nextListener
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.StatefulSimulation = void 0;
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
|
-
const fsm_1 = require("
|
|
6
|
+
const fsm_1 = require("../../fsm/src");
|
|
7
7
|
const utils_1 = require("@jikan0/utils");
|
|
8
8
|
const DEFAULT_OPTS = { leniency: 100 /*ms*/, stopOnEmpty: true };
|
|
9
9
|
const SUSPICIOUSLY_TOO_MANY_LISTENERS = 100;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statefulSimulation.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"statefulSimulation.js","sourceRoot":"","sources":["../../../../../adapters/src/lib/statefulSimulation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './lib/testUtils';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../test-utils/src/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BASIC_EXERCISE_PROGRAM = void 0;
|
|
4
|
+
exports.BASIC_EXERCISE_PROGRAM = (() => {
|
|
5
|
+
const ROUND_TYPES = ['warmup', 'exercise', 'rest', 'cooldown'];
|
|
6
|
+
const ONE_MINUTE = 60 * 1000;
|
|
7
|
+
const TOTAL_ROUNDS = 10;
|
|
8
|
+
const WARMUP_DURATION = 5 * ONE_MINUTE;
|
|
9
|
+
const EXERCISE_DURATION = 3 * ONE_MINUTE;
|
|
10
|
+
// noinspection PointlessArithmeticExpressionJS
|
|
11
|
+
const REST_DURATION = 1 * ONE_MINUTE;
|
|
12
|
+
const COOLDOWN_DURATION = 5 * ONE_MINUTE;
|
|
13
|
+
const DURATIONS = {
|
|
14
|
+
warmup: WARMUP_DURATION,
|
|
15
|
+
exercise: EXERCISE_DURATION,
|
|
16
|
+
rest: REST_DURATION,
|
|
17
|
+
cooldown: COOLDOWN_DURATION,
|
|
18
|
+
};
|
|
19
|
+
return [...Array(TOTAL_ROUNDS + 2 /*warmup/cooldown*/).keys()]
|
|
20
|
+
.map((i) => i === 0
|
|
21
|
+
? 'warmup'
|
|
22
|
+
: i === TOTAL_ROUNDS + 1
|
|
23
|
+
? 'cooldown'
|
|
24
|
+
: i % 2 === 1
|
|
25
|
+
? 'exercise'
|
|
26
|
+
: 'rest')
|
|
27
|
+
.map((kind) => ({
|
|
28
|
+
kind,
|
|
29
|
+
duration: DURATIONS[kind],
|
|
30
|
+
}));
|
|
31
|
+
})();
|
|
32
|
+
//# sourceMappingURL=testUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../../../../test-utils/src/lib/testUtils.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,CAAC,GAAG,EAAE;IAC1C,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAU,CAAC;IAExE,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC;IAC7B,MAAM,YAAY,GAAG,EAAE,CAAC;IACxB,MAAM,eAAe,GAAG,CAAC,GAAG,UAAU,CAAC;IACvC,MAAM,iBAAiB,GAAG,CAAC,GAAG,UAAU,CAAC;IACzC,+CAA+C;IAC/C,MAAM,aAAa,GAAG,CAAC,GAAG,UAAU,CAAC;IACrC,MAAM,iBAAiB,GAAG,CAAC,GAAG,UAAU,CAAC;IACzC,MAAM,SAAS,GAEX;QACF,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,iBAAiB;QAC3B,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,iBAAiB;KAC5B,CAAC;IACF,OAAO,CAAC,GAAG,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE,CAAC;SAC3D,GAAG,CACF,CAAC,CAAC,EAAa,EAAE,CACf,CAAC,KAAK,CAAC;QACL,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC;YACxB,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;gBACb,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,MAAM,CACb;SACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,IAAI;QACJ,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC;KAC1B,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './lib/utils';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../utils/src/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const isRNEA: <T>(a: readonly T[]) => a is readonly [T, ...T[]];
|
|
2
|
+
export declare const assertRNEA: <T>(a: readonly T[]) => readonly [T, ...T[]];
|
|
3
|
+
export declare const last: <T>(a: readonly T[] | T[]) => T | null;
|
|
4
|
+
export declare const lastNEA: <T>(a: readonly [T, ...T[]]) => T;
|
|
5
|
+
export declare const assertTrue: (b: boolean) => true;
|
|
6
|
+
export declare const assertExists: <T>(x: T | null | undefined) => T;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertExists = exports.assertTrue = exports.lastNEA = exports.last = exports.assertRNEA = exports.isRNEA = void 0;
|
|
4
|
+
// RNEA is read only non-empty array
|
|
5
|
+
const isRNEA = (a) => a.length > 0;
|
|
6
|
+
exports.isRNEA = isRNEA;
|
|
7
|
+
const assertRNEA = (a) => {
|
|
8
|
+
if (!(0, exports.isRNEA)(a))
|
|
9
|
+
throw new Error('panic! assertion RNEA failed');
|
|
10
|
+
return a;
|
|
11
|
+
};
|
|
12
|
+
exports.assertRNEA = assertRNEA;
|
|
13
|
+
const last = (a) => (0, exports.isRNEA)(a) ? a[a.length - 1] : null;
|
|
14
|
+
exports.last = last;
|
|
15
|
+
const lastNEA = (a) => a[a.length - 1];
|
|
16
|
+
exports.lastNEA = lastNEA;
|
|
17
|
+
const assertTrue = (b) => {
|
|
18
|
+
if (!b)
|
|
19
|
+
throw new Error('panic! assertion true failed');
|
|
20
|
+
return true;
|
|
21
|
+
};
|
|
22
|
+
exports.assertTrue = assertTrue;
|
|
23
|
+
const assertExists = (x) => {
|
|
24
|
+
if (x === null || x === undefined)
|
|
25
|
+
throw new Error('panic! assertion exists failed');
|
|
26
|
+
return x;
|
|
27
|
+
};
|
|
28
|
+
exports.assertExists = assertExists;
|
|
29
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../utils/src/lib/utils.ts"],"names":[],"mappings":";;;AAAA,oCAAoC;AAC7B,MAAM,MAAM,GAAG,CAAI,CAAe,EAA6B,EAAE,CACtE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AADF,QAAA,MAAM,UACJ;AACR,MAAM,UAAU,GAAG,CAAI,CAAe,EAAwB,EAAE;IACrE,IAAI,CAAC,IAAA,cAAM,EAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAChE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAHW,QAAA,UAAU,cAGrB;AAEK,MAAM,IAAI,GAAG,CAAI,CAAqB,EAAY,EAAE,CACzD,IAAA,cAAM,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AADxB,QAAA,IAAI,QACoB;AAC9B,MAAM,OAAO,GAAG,CAAI,CAAuB,EAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAA7D,QAAA,OAAO,WAAsD;AAEnE,MAAM,UAAU,GAAG,CAAC,CAAU,EAAQ,EAAE;IAC7C,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACxD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAHW,QAAA,UAAU,cAGrB;AAEK,MAAM,YAAY,GAAG,CAAI,CAAuB,EAAK,EAAE;IAC5D,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;QAC/B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAJW,QAAA,YAAY,gBAIvB"}
|
package/fsm/package.json
CHANGED
package/fsm/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../fsm/src/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B"}
|
package/fsm/src/lib/fsm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fsm.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"fsm.js","sourceRoot":"","sources":["../../../../../fsm/src/lib/fsm.ts"],"names":[],"mappings":";;;AAAA,yCAA8E;AAE9E,IAAI,4BAA4B,GAAG,KAAK,CAAC;AACzC,MAAM,4BAA4B,GAAG,CAAC,SAA4B,EAAE,EAAE;IACpE,IAAI,CAAC,4BAA4B,EAAE;QACjC,4BAA4B,GAAG,IAAI,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,IAAA,wCAAgC,EAAC,SAAS,CAAC,CAAC,CAAC;KAC3D;AACH,CAAC,CAAC;AAEK,MAAM,gCAAgC,GAAG,CAC9C,SAA4B,EACpB,EAAE,CACV,sCAAsC,aAAa,CACjD,SAAS,CACV,6EAA6E,CAAC;AALpE,QAAA,gCAAgC,oCAKoC;AAOjF,MAAM,aAAa,GAAG,CACpB,SAA0B,EAClB,EAAE,CAAC,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,QAAQ,GAAG,CAAC;AAExD,8GAA8G;AACvG,MAAM,WAAW,GACtB,CAAsB,CAAkB,EAAE,EAAE,CAC5C,CAAC,CAAkB,EAAW,EAAE,CAC9B,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC;AAHtC,QAAA,WAAW,eAG2B;AAsBnD,MAAM,MAAM,GAAe;IACzB,QAAQ,EAAE,CAAC;IACX,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;CACzB,CAAC;AAEK,MAAM,KAAK,GAAG,GAAqC,EAAE,CAC1D,MAAqB,CAAC;AADX,QAAA,KAAK,SACM;AAEjB,MAAM,OAAO,GAAG,CACrB,KAAkB,EACG,EAAE,CACvB,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAA,kBAAU,EAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC;AAHhE,QAAA,OAAO,WAGyD;AAEtE,MAAM,OAAO,GAAG,CAAsB,KAAkB,EAAe,EAAE,CAC9E,CAAC,IAAA,cAAM,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC,sBAAsB;IACzC,CAAC,CAAC,KAAK;IACP,CAAC,CAAC;QACE,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ,EAAE,IAAA,eAAO,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ;KACxC,CAAC;AANK,QAAA,OAAO,WAMZ;AAED,MAAM,KAAK,GAAG,CAAsB,MAAmB,EAAe,EAAE,CAC7E,IAAA,aAAK,GAAE,CAAC;AADG,QAAA,KAAK,SACR;AAEH,MAAM,IAAI,GACf,CAAuB,GAAiB,EAAE,EAAE,CAC5C,CACE,KAA+C,EAC1B,EAAE;IACvB,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM;IACtB,sBAAsB,CAAC,GAAG;SACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACZ,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAChC,4BAA4B,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;SACD,OAAO,EAAE,CACb,CAAC;IACF,IAAI,CAAC,IAAA,cAAM,EAAC,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,OAAO;IACtC,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,QAAQ,EACN,KAAK,CAAC,QAAQ;YACd,IAAA,kBAAU;YACR,2CAA2C,CAAC,IAAA,cAAM,EAAC,KAAK,CAAC,KAAK,CAAC,CAChE;YACC,CAAC,CAAC,KAAK,CAAC,QAAQ;YAChB,CAAC,CAAC,IAAA,eAAO,EAAC,EAAE,CAAC,CAAC,QAAQ;QAC1B,KAAK,EAAE,IAAA,kBAAU,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;KAC1D,CAAC,CAAC;AACL,CAAC,CAAC;AAzBS,QAAA,IAAI,QAyBb;AAEJ,MAAM,QAAQ,GAAG,CACf,KAAkB,EACqB,EAAE,CAAC;IAC1C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjC,IAAA,YAAI,EAAC,KAAK,CAAC;CACZ,CAAC;AAEK,MAAM,GAAG,GAAG,CACjB,KAAkB,EACqB,EAAE;IACzC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,IAAA,cAAM,EAAC,KAAK,CAAC;QAAE,OAAO,CAAC,IAAA,aAAK,GAAE,EAAE,SAAS,CAAC,CAAC;IAChD,OAAO;QACL,MAAM,CAAC,MAAM,CAAC;YACZ,QAAQ,EAAE,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC,QAAQ;YACjC,KAAK;SACN,CAAC;QACF,SAAS;KACV,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,GAAG,OAYd;AAEK,MAAM,SAAS,GAAG,CACvB,KAA0B,EACT,EAAE,CAAC,iCACjB,IAAA,eAAO,EAAC,KAAK,CAAC,KAAK,CAAC;IACvB,wEAAwE;IACxE,QAAQ,EAAE,KAAK,CAAC,QAAQ,IACxB,CAAC;AANU,QAAA,SAAS,aAMnB;AAEI,MAAM,OAAO,GAAG,CACrB,KAAkB,EACM,EAAE,CAAC,CAAC,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,iBAAS,EAAC,KAAK,CAAC,CAAC,CAAC;AAF3D,QAAA,OAAO,WAEoD;AAEjE,MAAM,IAAI,GACf,CACE,IAAY,CAAC,mEAAmE,EAChF,EAAE,CACJ,CACE,KAAkB,EACgB,EAAE;IACpC,MAAM,KAAK,GAAG,CACZ,IAAY,EACZ,KAAkB,EAClB,GAAsB,EACY,EAAE;QACpC,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO;QAC5C,IAAI,IAAA,eAAO,EAAC,KAAK,CAAC;YAAE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO;QAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvC,OAAO,QAAQ,IAAI,CAAC,CAAC,qBAAqB;YACxC,CAAC,CAAC,CAAC,GAAG,EAAE;gBACJ,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC;gBACvC,IAAI,SAAS,KAAK,IAAI;oBAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC5C,OAAO,KAAK,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;YACvC,CAAC,CAAC,EAAE;YACN,CAAC,CAAC;gBACE,MAAM,CAAC,MAAM,CAAC;oBACZ,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,eAAe;oBACf,QAAQ;iBACT,CAAC;gBACF,GAAG;aACJ,CAAC;IACR,CAAC,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;AAChC,CAAC,CAAC;AAhCS,QAAA,IAAI,QAgCb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './lib/testUtils';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../test-utils/src/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BASIC_EXERCISE_PROGRAM = void 0;
|
|
4
|
+
exports.BASIC_EXERCISE_PROGRAM = (() => {
|
|
5
|
+
const ROUND_TYPES = ['warmup', 'exercise', 'rest', 'cooldown'];
|
|
6
|
+
const ONE_MINUTE = 60 * 1000;
|
|
7
|
+
const TOTAL_ROUNDS = 10;
|
|
8
|
+
const WARMUP_DURATION = 5 * ONE_MINUTE;
|
|
9
|
+
const EXERCISE_DURATION = 3 * ONE_MINUTE;
|
|
10
|
+
// noinspection PointlessArithmeticExpressionJS
|
|
11
|
+
const REST_DURATION = 1 * ONE_MINUTE;
|
|
12
|
+
const COOLDOWN_DURATION = 5 * ONE_MINUTE;
|
|
13
|
+
const DURATIONS = {
|
|
14
|
+
warmup: WARMUP_DURATION,
|
|
15
|
+
exercise: EXERCISE_DURATION,
|
|
16
|
+
rest: REST_DURATION,
|
|
17
|
+
cooldown: COOLDOWN_DURATION,
|
|
18
|
+
};
|
|
19
|
+
return [...Array(TOTAL_ROUNDS + 2 /*warmup/cooldown*/).keys()]
|
|
20
|
+
.map((i) => i === 0
|
|
21
|
+
? 'warmup'
|
|
22
|
+
: i === TOTAL_ROUNDS + 1
|
|
23
|
+
? 'cooldown'
|
|
24
|
+
: i % 2 === 1
|
|
25
|
+
? 'exercise'
|
|
26
|
+
: 'rest')
|
|
27
|
+
.map((kind) => ({
|
|
28
|
+
kind,
|
|
29
|
+
duration: DURATIONS[kind],
|
|
30
|
+
}));
|
|
31
|
+
})();
|
|
32
|
+
//# sourceMappingURL=testUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../../../../test-utils/src/lib/testUtils.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,CAAC,GAAG,EAAE;IAC1C,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAU,CAAC;IAExE,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC;IAC7B,MAAM,YAAY,GAAG,EAAE,CAAC;IACxB,MAAM,eAAe,GAAG,CAAC,GAAG,UAAU,CAAC;IACvC,MAAM,iBAAiB,GAAG,CAAC,GAAG,UAAU,CAAC;IACzC,+CAA+C;IAC/C,MAAM,aAAa,GAAG,CAAC,GAAG,UAAU,CAAC;IACrC,MAAM,iBAAiB,GAAG,CAAC,GAAG,UAAU,CAAC;IACzC,MAAM,SAAS,GAEX;QACF,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,iBAAiB;QAC3B,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,iBAAiB;KAC5B,CAAC;IACF,OAAO,CAAC,GAAG,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE,CAAC;SAC3D,GAAG,CACF,CAAC,CAAC,EAAa,EAAE,CACf,CAAC,KAAK,CAAC;QACL,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC;YACxB,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;gBACb,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,MAAM,CACb;SACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,IAAI;QACJ,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC;KAC1B,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './lib/utils';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../utils/src/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const isRNEA: <T>(a: readonly T[]) => a is readonly [T, ...T[]];
|
|
2
|
+
export declare const assertRNEA: <T>(a: readonly T[]) => readonly [T, ...T[]];
|
|
3
|
+
export declare const last: <T>(a: readonly T[] | T[]) => T | null;
|
|
4
|
+
export declare const lastNEA: <T>(a: readonly [T, ...T[]]) => T;
|
|
5
|
+
export declare const assertTrue: (b: boolean) => true;
|
|
6
|
+
export declare const assertExists: <T>(x: T | null | undefined) => T;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertExists = exports.assertTrue = exports.lastNEA = exports.last = exports.assertRNEA = exports.isRNEA = void 0;
|
|
4
|
+
// RNEA is read only non-empty array
|
|
5
|
+
const isRNEA = (a) => a.length > 0;
|
|
6
|
+
exports.isRNEA = isRNEA;
|
|
7
|
+
const assertRNEA = (a) => {
|
|
8
|
+
if (!(0, exports.isRNEA)(a))
|
|
9
|
+
throw new Error('panic! assertion RNEA failed');
|
|
10
|
+
return a;
|
|
11
|
+
};
|
|
12
|
+
exports.assertRNEA = assertRNEA;
|
|
13
|
+
const last = (a) => (0, exports.isRNEA)(a) ? a[a.length - 1] : null;
|
|
14
|
+
exports.last = last;
|
|
15
|
+
const lastNEA = (a) => a[a.length - 1];
|
|
16
|
+
exports.lastNEA = lastNEA;
|
|
17
|
+
const assertTrue = (b) => {
|
|
18
|
+
if (!b)
|
|
19
|
+
throw new Error('panic! assertion true failed');
|
|
20
|
+
return true;
|
|
21
|
+
};
|
|
22
|
+
exports.assertTrue = assertTrue;
|
|
23
|
+
const assertExists = (x) => {
|
|
24
|
+
if (x === null || x === undefined)
|
|
25
|
+
throw new Error('panic! assertion exists failed');
|
|
26
|
+
return x;
|
|
27
|
+
};
|
|
28
|
+
exports.assertExists = assertExists;
|
|
29
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../utils/src/lib/utils.ts"],"names":[],"mappings":";;;AAAA,oCAAoC;AAC7B,MAAM,MAAM,GAAG,CAAI,CAAe,EAA6B,EAAE,CACtE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AADF,QAAA,MAAM,UACJ;AACR,MAAM,UAAU,GAAG,CAAI,CAAe,EAAwB,EAAE;IACrE,IAAI,CAAC,IAAA,cAAM,EAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAChE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAHW,QAAA,UAAU,cAGrB;AAEK,MAAM,IAAI,GAAG,CAAI,CAAqB,EAAY,EAAE,CACzD,IAAA,cAAM,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AADxB,QAAA,IAAI,QACoB;AAC9B,MAAM,OAAO,GAAG,CAAI,CAAuB,EAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAA7D,QAAA,OAAO,WAAsD;AAEnE,MAAM,UAAU,GAAG,CAAC,CAAU,EAAQ,EAAE;IAC7C,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACxD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAHW,QAAA,UAAU,cAGrB;AAEK,MAAM,YAAY,GAAG,CAAI,CAAuB,EAAK,EAAE;IAC5D,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;QAC/B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAJW,QAAA,YAAY,gBAIvB"}
|
package/package.json
CHANGED