assertron 9.0.1 → 9.0.4

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 (104) hide show
  1. package/cjs/assert-order/AssertOrder.d.ts +41 -0
  2. package/cjs/assert-order/AssertOrder.d.ts.map +1 -0
  3. package/cjs/assert-order/AssertOrder.js +148 -0
  4. package/cjs/assert-order/InvalidOrder.d.ts +9 -0
  5. package/cjs/assert-order/InvalidOrder.d.ts.map +1 -0
  6. package/cjs/assert-order/InvalidOrder.js +39 -0
  7. package/cjs/assert-order/StateMachine.d.ts +22 -0
  8. package/cjs/assert-order/StateMachine.d.ts.map +1 -0
  9. package/cjs/assert-order/StateMachine.js +111 -0
  10. package/cjs/assert-order/index.d.ts +4 -0
  11. package/cjs/assert-order/index.d.ts.map +1 -0
  12. package/cjs/assert-order/index.js +7 -0
  13. package/cjs/assert-order/types.d.ts +8 -0
  14. package/cjs/assert-order/types.d.ts.map +1 -0
  15. package/cjs/assert-order/types.js +3 -0
  16. package/cjs/assertron/assertron.d.ts +21 -0
  17. package/cjs/assertron/assertron.d.ts.map +1 -0
  18. package/cjs/assertron/assertron.js +32 -0
  19. package/cjs/assertron/falsy.d.ts +2 -0
  20. package/cjs/assertron/falsy.d.ts.map +1 -0
  21. package/cjs/assertron/falsy.js +10 -0
  22. package/cjs/assertron/index.d.ts +2 -0
  23. package/cjs/assertron/index.d.ts.map +1 -0
  24. package/cjs/assertron/index.js +5 -0
  25. package/cjs/assertron/pathEqual.d.ts +2 -0
  26. package/cjs/assertron/pathEqual.d.ts.map +1 -0
  27. package/cjs/assertron/pathEqual.js +12 -0
  28. package/cjs/assertron/rejects.d.ts +2 -0
  29. package/cjs/assertron/rejects.d.ts.map +1 -0
  30. package/cjs/assertron/rejects.js +10 -0
  31. package/cjs/assertron/repeat.d.ts +6 -0
  32. package/cjs/assertron/repeat.d.ts.map +1 -0
  33. package/cjs/assertron/repeat.js +33 -0
  34. package/cjs/assertron/resolves.d.ts +2 -0
  35. package/cjs/assertron/resolves.d.ts.map +1 -0
  36. package/cjs/assertron/resolves.js +10 -0
  37. package/cjs/assertron/satisfies.d.ts +10 -0
  38. package/cjs/assertron/satisfies.d.ts.map +1 -0
  39. package/cjs/assertron/satisfies.js +18 -0
  40. package/cjs/assertron/throws.d.ts +6 -0
  41. package/cjs/assertron/throws.d.ts.map +1 -0
  42. package/cjs/assertron/throws.js +56 -0
  43. package/cjs/assertron/truthy.d.ts +2 -0
  44. package/cjs/assertron/truthy.d.ts.map +1 -0
  45. package/cjs/assertron/truthy.js +10 -0
  46. package/cjs/errors.d.ts +17 -0
  47. package/cjs/errors.d.ts.map +1 -0
  48. package/cjs/errors.js +29 -0
  49. package/cjs/index.d.ts +6 -0
  50. package/cjs/index.d.ts.map +1 -0
  51. package/cjs/index.js +9 -0
  52. package/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  53. package/cjs/types.d.ts +3 -0
  54. package/cjs/types.d.ts.map +1 -0
  55. package/cjs/types.js +3 -0
  56. package/cjs/utils/index.d.ts +8 -0
  57. package/cjs/utils/index.d.ts.map +1 -0
  58. package/cjs/utils/index.js +16 -0
  59. package/cjs/utils/isErrorConstructor.d.ts +3 -0
  60. package/cjs/utils/isErrorConstructor.d.ts.map +1 -0
  61. package/cjs/utils/isErrorConstructor.js +8 -0
  62. package/cjs/utils/notEqualMessage.d.ts +2 -0
  63. package/cjs/utils/notEqualMessage.d.ts.map +1 -0
  64. package/cjs/utils/notEqualMessage.js +8 -0
  65. package/cjs/utils/notSatisfiedMessage.d.ts +3 -0
  66. package/cjs/utils/notSatisfiedMessage.d.ts.map +1 -0
  67. package/cjs/utils/notSatisfiedMessage.js +28 -0
  68. package/cjs/utils/notThrownMessage.d.ts +2 -0
  69. package/cjs/utils/notThrownMessage.d.ts.map +1 -0
  70. package/cjs/utils/notThrownMessage.js +9 -0
  71. package/cjs/utils/promiseMessages.d.ts +3 -0
  72. package/cjs/utils/promiseMessages.d.ts.map +1 -0
  73. package/cjs/utils/promiseMessages.js +15 -0
  74. package/cjs/utils/unexpectedErrorMessage.d.ts +3 -0
  75. package/cjs/utils/unexpectedErrorMessage.d.ts.map +1 -0
  76. package/cjs/utils/unexpectedErrorMessage.js +11 -0
  77. package/esm/assert-order/AssertOrder.js +132 -0
  78. package/esm/assert-order/InvalidOrder.js +31 -0
  79. package/esm/assert-order/StateMachine.js +103 -0
  80. package/esm/assert-order/index.js +4 -0
  81. package/esm/assert-order/types.js +2 -0
  82. package/esm/assertron/assertron.js +29 -0
  83. package/esm/assertron/falsy.js +6 -0
  84. package/esm/assertron/index.js +2 -0
  85. package/esm/assertron/pathEqual.js +8 -0
  86. package/esm/assertron/rejects.js +6 -0
  87. package/esm/assertron/repeat.js +28 -0
  88. package/esm/assertron/resolves.js +6 -0
  89. package/esm/assertron/satisfies.js +14 -0
  90. package/esm/assertron/throws.js +51 -0
  91. package/esm/assertron/truthy.js +6 -0
  92. package/esm/errors.js +18 -0
  93. package/esm/index.js +6 -0
  94. package/esm/tsconfig.esm.tsbuildinfo +1 -0
  95. package/esm/types.js +2 -0
  96. package/esm/utils/index.js +11 -0
  97. package/esm/utils/isErrorConstructor.js +4 -0
  98. package/esm/utils/notEqualMessage.js +4 -0
  99. package/esm/utils/notSatisfiedMessage.js +23 -0
  100. package/esm/utils/notThrownMessage.js +5 -0
  101. package/esm/utils/promiseMessages.js +10 -0
  102. package/esm/utils/unexpectedErrorMessage.js +7 -0
  103. package/package.json +34 -28
  104. package/src/assert-order/AssertOrder.spec.ts +1 -1
@@ -0,0 +1,132 @@
1
+ import { InvalidOrder } from './InvalidOrder';
2
+ import { StateMachine } from './StateMachine';
3
+ // order.atLeast(step, count) // expected to be executed at least `count` times
4
+ // order.atMost(step, count) // exected to be executed at most `count` times
5
+ export class AssertOrder {
6
+ constructor(plan) {
7
+ this.state = new StateMachine(plan);
8
+ }
9
+ /**
10
+ * Gets the current expecting step.
11
+ */
12
+ get currentStep() {
13
+ return this.state.step;
14
+ }
15
+ /**
16
+ * Asserts the current step is `step`.
17
+ * @param step expected step.
18
+ */
19
+ is(step) {
20
+ this.assert('is', step);
21
+ }
22
+ /**
23
+ * Asserts the current step is not `step`.
24
+ * @param step not expected step.
25
+ */
26
+ not(step) {
27
+ if (this.state.isValid(step)) {
28
+ throw new InvalidOrder(this.state.get(), 'not', [step], { ssf: this.not });
29
+ }
30
+ }
31
+ /**
32
+ * Reset to specified step.
33
+ */
34
+ jump(step) {
35
+ this.state.jump(step);
36
+ }
37
+ /**
38
+ * Move to next step.
39
+ */
40
+ move() {
41
+ this.state.move();
42
+ }
43
+ /**
44
+ * Asserts the specified step will run once.
45
+ */
46
+ once(step) {
47
+ this.assert('once', step);
48
+ this.state.move();
49
+ }
50
+ on(step, assert) {
51
+ this.state.on(step, () => {
52
+ assert(step);
53
+ });
54
+ }
55
+ atLeastOnce(step) {
56
+ const nextStep = step + 1;
57
+ if (this.state.step === step) {
58
+ this.state.move();
59
+ return this.state.moveSubStep();
60
+ }
61
+ else if (this.state.step === nextStep && this.state.subStep > 0) {
62
+ return this.state.moveSubStep();
63
+ }
64
+ else
65
+ throw new InvalidOrder(this.state.get(), 'atLeastOnce', [step], { ssf: this.atLeastOnce });
66
+ }
67
+ any(steps) {
68
+ const index = steps.indexOf(this.state.step);
69
+ if (index === -1)
70
+ throw new InvalidOrder(this.state.get(), 'any', [steps], { ssf: this.any });
71
+ this.state.move();
72
+ return steps[index];
73
+ }
74
+ onAny(steps, ...asserts) {
75
+ steps.forEach(step => {
76
+ this.state.on(step, () => {
77
+ let firstError;
78
+ let hasPass = false;
79
+ asserts.forEach(assert => {
80
+ try {
81
+ assert(step);
82
+ hasPass = true;
83
+ }
84
+ catch (err) {
85
+ if (!firstError)
86
+ firstError = err;
87
+ }
88
+ });
89
+ if (!hasPass)
90
+ throw firstError;
91
+ });
92
+ });
93
+ return;
94
+ }
95
+ end(timeout) {
96
+ if (timeout) {
97
+ return new Promise(r => {
98
+ setTimeout(r, timeout);
99
+ }).then(() => {
100
+ return this.end();
101
+ });
102
+ }
103
+ if (!this.state.isMaxStepDefined()) {
104
+ this.state.stopAccepting();
105
+ return this.state.getTimeTaken();
106
+ }
107
+ if (this.state.isAccepting()) {
108
+ throw new InvalidOrder(this.state.get(), 'end', [], { ssf: this.end });
109
+ }
110
+ }
111
+ exactly(step, times) {
112
+ if (this.state.isNotValid(step))
113
+ throw new InvalidOrder(this.state.get(), 'exactly', [step, times], { ssf: this.exactly });
114
+ if (this.state.maxSubStep === undefined) {
115
+ this.state.maxSubStep = times;
116
+ this.state.minSubStep = times;
117
+ }
118
+ return this.state.moveSubStep();
119
+ }
120
+ wait(step, callback) {
121
+ if (callback)
122
+ this.on(step, callback);
123
+ else
124
+ return new Promise(a => { this.on(step, a); });
125
+ }
126
+ assert(method, step) {
127
+ if (this.state.isNotValid(step)) {
128
+ throw new InvalidOrder(this.state.get(), method, [step], { ssf: this[method] });
129
+ }
130
+ }
131
+ }
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXNzZXJ0T3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXNzZXJ0LW9yZGVyL0Fzc2VydE9yZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFN0MsK0VBQStFO0FBQy9FLDRFQUE0RTtBQUU1RSxNQUFNLE9BQU8sV0FBVztJQVN0QixZQUFZLElBQWE7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNyQyxDQUFDO0lBVkQ7O09BRUc7SUFDSCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFBO0lBQ3hCLENBQUM7SUFPRDs7O09BR0c7SUFDSCxFQUFFLENBQUMsSUFBWTtRQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ3pCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxHQUFHLENBQUMsSUFBWTtRQUNkLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDNUIsTUFBTSxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFBO1NBQzNFO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxDQUFDLElBQVk7UUFDZixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJO1FBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUs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
@@ -0,0 +1,31 @@
1
+ import { AssertionError } from '../errors';
2
+ export class InvalidOrder extends AssertionError {
3
+ constructor(state, method, args, options) {
4
+ super(method === 'end' ? getEndMessage(state) : getExpectingMessage(state, method, args), options);
5
+ this.state = state;
6
+ this.method = method;
7
+ this.args = args;
8
+ }
9
+ }
10
+ function getEndMessage(state) {
11
+ return `Planned for ${state.maxStep} step but expecting step ${state.step} when 'end()' is called`;
12
+ }
13
+ function getExpectingMessage(state, method, args) {
14
+ return `Expecting ${getExpectingCalls(state)}, but received '${method}(${getMethodArgs(args)})'`;
15
+ }
16
+ function getExpectingCalls(state) {
17
+ let message;
18
+ if (state.subStep === 0) {
19
+ const methods = ['is', 'once', 'any'];
20
+ message = methods.map(m => `'${m}(${['any'].indexOf(m) === -1 ? state.step : `[${state.step}]`})'`).join(', ');
21
+ }
22
+ else {
23
+ const methods = ['exactly'];
24
+ message = methods.map(m => `'${m}(${state.step}, ${state.maxSubStep})'`).join(', ');
25
+ }
26
+ return message;
27
+ }
28
+ function getMethodArgs(args) {
29
+ return args.map(a => Array.isArray(a) ? `[${a.join(', ')}]` : a).join(', ');
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW52YWxpZE9yZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Fzc2VydC1vcmRlci9JbnZhbGlkT3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUcxQyxNQUFNLE9BQU8sWUFBYSxTQUFRLGNBQWM7SUFDOUMsWUFBbUIsS0FBWSxFQUFTLE1BQWMsRUFBUyxJQUFXLEVBQUUsT0FBK0I7UUFDekcsS0FBSyxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQURqRixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFTLFNBQUksR0FBSixJQUFJLENBQU87SUFFMUUsQ0FBQztDQUNGO0FBRUQsU0FBUyxhQUFhLENBQUMsS0FBWTtJQUNqQyxPQUFPLGVBQWUsS0FBSyxDQUFDLE9BQU8sNEJBQTRCLEtBQUssQ0FBQyxJQUFJLHlCQUF5QixDQUFBO0FBQ3BHLENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUFDLEtBQVksRUFBRSxNQUFjLEVBQUUsSUFBVztJQUNwRSxPQUFPLGFBQWEsaUJBQWlCLENBQUMsS0FBSyxDQUFDLG1CQUFtQixNQUFNLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUE7QUFDbEcsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUMsS0FBWTtJQUNyQyxJQUFJLE9BQWUsQ0FBQTtJQUNuQixJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssQ0FBQyxFQUFFO1FBQ3ZCLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUNyQyxPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FDbkIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FDN0UsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7S0FDYjtTQUNJO1FBQ0gsTUFBTSxPQUFPLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUMzQixPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0tBQ3BGO0lBQ0QsT0FBTyxPQUFPLENBQUE7QUFDaEIsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLElBQVc7SUFDaEMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUM3RSxDQUFDIn0=
@@ -0,0 +1,103 @@
1
+ import isNode from 'is-node';
2
+ // istanbul ignore next
3
+ function nodeVersionIsOrAbove(major, minor = 0, patch = 0) {
4
+ // without this, systemJS will complain `process is not defined`
5
+ if (!global.process)
6
+ return false;
7
+ const versionString = process.version.startsWith('v') ? process.version.slice(1) : process.version;
8
+ const [actualMajor, actualMinor, actualPatch] = versionString.split('.').map(s => parseInt(s, 10));
9
+ const checking = major * 1000 * 1000 + minor * 1000 + patch;
10
+ const actual = actualMajor * 1000 * 1000 + actualMinor * 1000 + actualPatch;
11
+ return actual >= checking;
12
+ }
13
+ // istanbul ignore next
14
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
15
+ const performance = isNode && nodeVersionIsOrAbove(8, 5) ? require('perf_hooks').performance : undefined;
16
+ let timeTracker;
17
+ // istanbul ignore else
18
+ if (process && typeof process.hrtime === 'function') {
19
+ let tick;
20
+ timeTracker = {
21
+ start() { tick = process.hrtime(); },
22
+ taken() {
23
+ const [second, nanoSecond] = process.hrtime(tick);
24
+ return second * 1000 + nanoSecond / 1e6;
25
+ }
26
+ };
27
+ }
28
+ else if (performance && typeof performance.now === 'function') {
29
+ let tick;
30
+ timeTracker = {
31
+ start() { tick = performance.now(); },
32
+ taken() { return performance.now() - tick; }
33
+ };
34
+ }
35
+ else {
36
+ let tick;
37
+ timeTracker = {
38
+ start() { tick = new Date().valueOf(); },
39
+ taken() { return new Date().valueOf() - tick; }
40
+ };
41
+ }
42
+ export class StateMachine {
43
+ constructor(maxStep) {
44
+ this.listeners = {};
45
+ this.step = 1;
46
+ this.subStep = 0;
47
+ this.maxStep = maxStep;
48
+ timeTracker.start();
49
+ }
50
+ jump(step) {
51
+ this.step = step;
52
+ this.subStep = 0;
53
+ return this.step;
54
+ }
55
+ move() {
56
+ const listeners = this.listeners[this.step];
57
+ this.step = this.step + 1;
58
+ this.subStep = 0;
59
+ if (listeners) {
60
+ listeners.forEach(l => l());
61
+ }
62
+ return this.step;
63
+ }
64
+ moveSubStep() {
65
+ const subStep = ++this.subStep;
66
+ if (this.maxSubStep === this.subStep)
67
+ this.move();
68
+ return subStep;
69
+ }
70
+ get() {
71
+ const { step, subStep, maxStep, minSubStep, maxSubStep } = this;
72
+ return {
73
+ step,
74
+ maxStep,
75
+ subStep,
76
+ minSubStep,
77
+ maxSubStep
78
+ };
79
+ }
80
+ on(step, listener) {
81
+ this.listeners[step] = [listener];
82
+ }
83
+ isNotValid(step) {
84
+ return step !== this.step || (this.maxStep !== undefined && this.maxStep < step);
85
+ }
86
+ isValid(step) {
87
+ return step === this.step;
88
+ }
89
+ isMaxStepDefined() {
90
+ return this.maxStep !== undefined;
91
+ }
92
+ stopAccepting() {
93
+ this.maxStep = this.step - 1;
94
+ }
95
+ isAccepting() {
96
+ // istanbul ignore next
97
+ return this.maxStep ? this.maxStep >= this.step : true;
98
+ }
99
+ getTimeTaken() {
100
+ return timeTracker.taken();
101
+ }
102
+ }
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhdGVNYWNoaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Fzc2VydC1vcmRlci9TdGF0ZU1hY2hpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sU0FBUyxDQUFBO0FBRzVCLHVCQUF1QjtBQUN2QixTQUFTLG9CQUFvQixDQUFDLEtBQWEsRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDO0lBQy9ELGdFQUFnRTtJQUNoRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU87UUFBRSxPQUFPLEtBQUssQ0FBQTtJQUNqQyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUE7SUFDbEcsTUFBTSxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDbEcsTUFBTSxRQUFRLEdBQUcsS0FBSyxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsS0FBSyxHQUFHLElBQUksR0FBRyxLQUFLLENBQUE7SUFDM0QsTUFBTSxNQUFNLEdBQUcsV0FBVyxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsV0FBVyxHQUFHLElBQUksR0FBRyxXQUFXLENBQUE7SUFDM0UsT0FBTyxNQUFNLElBQUksUUFBUSxDQUFBO0FBQzNCLENBQUM7QUFFRCx1QkFBdUI7QUFDdkIsOERBQThEO0FBQzlELE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxvQkFBb0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxD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
@@ -0,0 +1,4 @@
1
+ export * from './AssertOrder';
2
+ export * from './InvalidOrder';
3
+ export * from './types';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXNzZXJ0LW9yZGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFBO0FBQzdCLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyxTQUFTLENBQUEifQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXNzZXJ0LW9yZGVyL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -0,0 +1,29 @@
1
+ import { AssertionError } from '../errors';
2
+ import { notEqualMessage } from '../utils';
3
+ import { falsy } from './falsy';
4
+ import { pathEqual } from './pathEqual';
5
+ import { rejects } from './rejects';
6
+ import { repeat } from './repeat';
7
+ import { resolves } from './resolves';
8
+ import { satisfies } from './satisfies';
9
+ import { throws } from './throws';
10
+ import { truthy } from './truthy';
11
+ export const assertron = {
12
+ false(value) {
13
+ if (value !== false)
14
+ throw new AssertionError(notEqualMessage(value, false), { ssf: assertron.false });
15
+ },
16
+ falsy,
17
+ pathEqual,
18
+ rejects,
19
+ repeat,
20
+ resolves,
21
+ satisfies,
22
+ throws,
23
+ true(value) {
24
+ if (value !== true)
25
+ throw new AssertionError(notEqualMessage(value, true), { ssf: assertron.true });
26
+ },
27
+ truthy
28
+ };
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0cm9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Fzc2VydHJvbi9hc3NlcnRyb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUN2QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ25DLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDakMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNyQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDakMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUVqQyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUc7SUFDdkIsS0FBSyxDQUFDLEtBQVU7UUFDZCxJQUFJLEtBQUssS0FBSyxLQUFLO1lBQ2pCLE1BQU0sSUFBSSxjQUFjLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUNyRixDQUFDO0lBQ0QsS0FBSztJQUNMLFNBQVM7SUFDVCxPQUFPO0lBQ1AsTUFBTTtJQUNOLFFBQVE7SUFDUixTQUFTO0lBQ1QsTUFBTTtJQUNOLElBQUksQ0FBQyxLQUFVO1FBQ2IsSUFBSSxLQUFLLEtBQUssSUFBSTtZQUNoQixNQUFNLElBQUksY0FBYyxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7SUFDbkYsQ0FBQztJQUNELE1BQU07Q0FDUCxDQUFBIn0=
@@ -0,0 +1,6 @@
1
+ import { AssertionError } from '../errors';
2
+ export function falsy(value) {
3
+ if (value)
4
+ throw new AssertionError(`Expected value to be falsy, but received ${value}`, { ssf: falsy });
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFsc3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXNzZXJ0cm9uL2ZhbHN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFMUMsTUFBTSxVQUFVLEtBQUssQ0FBQyxLQUFVO0lBQzlCLElBQUksS0FBSztRQUNQLE1BQU0sSUFBSSxjQUFjLENBQUMsNENBQTRDLEtBQUssRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7QUFDakcsQ0FBQyJ9
@@ -0,0 +1,2 @@
1
+ export * from './assertron';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXNzZXJ0cm9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFBIn0=
@@ -0,0 +1,8 @@
1
+ import { pathEqual as isPathEqual } from 'path-equal';
2
+ import { AssertionError } from '../errors';
3
+ import { notEqualMessage } from '../utils';
4
+ export function pathEqual(actual, expected) {
5
+ if (!isPathEqual(actual, expected))
6
+ throw new AssertionError(notEqualMessage(actual, expected), { ssf: pathEqual });
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aEVxdWFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Fzc2VydHJvbi9wYXRoRXF1YWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsSUFBSSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBRTFDLE1BQU0sVUFBVSxTQUFTLENBQUMsTUFBYyxFQUFFLFFBQWdCO0lBQ3hELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQztRQUNoQyxNQUFNLElBQUksY0FBYyxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQTtBQUNuRixDQUFDIn0=
@@ -0,0 +1,6 @@
1
+ import { AssertionError } from '../errors';
2
+ import { notRejectedMessage } from '../utils';
3
+ export function rejects(promise) {
4
+ return promise.then(value => { throw new AssertionError(notRejectedMessage(value), { ssf: rejects }); }, () => { });
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVqZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NlcnRyb24vcmVqZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQzFDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUU3QyxNQUFNLFVBQVUsT0FBTyxDQUFDLE9BQXFCO0lBQzNDLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FDakIsS0FBSyxDQUFDLEVBQUUsR0FBRyxNQUFNLElBQUksY0FBYyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQ2xGLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FDVixDQUFBO0FBQ0gsQ0FBQyJ9
@@ -0,0 +1,28 @@
1
+ import isPromise from 'is-promise';
2
+ import { FailOnOccurrence } from '../errors';
3
+ /**
4
+ * Repeat the specified function n times and return the last result.
5
+ * If the result is a promise, it will run the function sequentially.
6
+ */
7
+ export function repeat(fn, times) {
8
+ return repeatRecur(fn, 1, times);
9
+ }
10
+ function repeatRecur(fn, i, times) {
11
+ try {
12
+ const result = fn();
13
+ if (i === times)
14
+ return result;
15
+ if (isPromise(result)) {
16
+ return result.then(() => repeatRecur(fn, i + 1, times), (e) => { throw new FailOnOccurrence(i, e, { ssf: repeat }); });
17
+ }
18
+ else {
19
+ return repeatRecur(fn, i + 1, times);
20
+ }
21
+ }
22
+ catch (e) {
23
+ if (e instanceof FailOnOccurrence)
24
+ throw e;
25
+ throw new FailOnOccurrence(i, e, { ssf: repeat });
26
+ }
27
+ }
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Fzc2VydHJvbi9yZXBlYXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUU3Qzs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsTUFBTSxDQUFJLEVBQWdDLEVBQUUsS0FBYTtJQUN2RSxPQUFPLFdBQVcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFBO0FBQ2xDLENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBSSxFQUFnQyxFQUFFLENBQVMsRUFBRSxLQUFhO0lBQ2hGLElBQUk7UUFDRixNQUFNLE1BQU0sR0FBRyxFQUFFLEVBQUUsQ0FBQTtRQUNuQixJQUFJLENBQUMsS0FBSyxLQUFLO1lBQUUsT0FBTyxNQUFhLENBQUE7UUFFckMsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDckIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUNoQixHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQ25DLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxNQUFNLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUN0RCxDQUFBO1NBQ1Q7YUFDSTtZQUNILE9BQU8sV0FBVyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFBO1NBQ3JDO0tBQ0Y7SUFDRCxPQUFPLENBQUMsRUFBRTtRQUNSLElBQUksQ0FBQyxZQUFZLGdCQUFnQjtZQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQzFDLE1BQU0sSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7S0FDbEQ7QUFDSCxDQUFDIn0=
@@ -0,0 +1,6 @@
1
+ import { AssertionError } from '../errors';
2
+ import { notResolvedMessage } from '../utils';
3
+ export function resolves(promise) {
4
+ return promise.then(() => { }, error => { throw new AssertionError(notResolvedMessage(error), { ssf: resolves }); });
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXNzZXJ0cm9uL3Jlc29sdmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDMUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sVUFBVSxDQUFBO0FBRTdDLE1BQU0sVUFBVSxRQUFRLENBQUMsT0FBcUI7SUFDNUMsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUNqQixHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQ1QsS0FBSyxDQUFDLEVBQUUsR0FBRyxNQUFNLElBQUksY0FBYyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQ3BGLENBQUE7QUFDSCxDQUFDIn0=
@@ -0,0 +1,14 @@
1
+ import { createSatisfier } from 'satisfier';
2
+ import { AssertionError } from '../errors';
3
+ import { notSatisfiedMessage } from '../utils';
4
+ /**
5
+ * Check if `actual` satisfies criteria in `expected`.
6
+ * @param expected All properties can be a value which will be compared to the same property in `actual`, RegExp, or a predicate function that will be used to check against the property.
7
+ */
8
+ export function satisfies(actual, expected) {
9
+ const diff = createSatisfier(expected).exec(actual);
10
+ if (diff) {
11
+ throw new AssertionError(notSatisfiedMessage(diff), { ssf: satisfies });
12
+ }
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F0aXNmaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Fzc2VydHJvbi9zYXRpc2ZpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUUzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQzFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQWtCOUM7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FBUyxNQUFjLEVBQUUsUUFBb0M7SUFDcEYsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLFFBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzRCxJQUFJLElBQUksRUFBRTtRQUNSLE1BQU0sSUFBSSxjQUFjLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQTtLQUN4RTtBQUNILENBQUMifQ==
@@ -0,0 +1,51 @@
1
+ import isPromise from 'is-promise';
2
+ import { AssertionError } from '../errors';
3
+ import { isErrorConstructor, notRejectedMessage, notThrownMessage, unexpectedErrorMessage } from '../utils';
4
+ export function throws(value, validator) {
5
+ if (typeof value !== 'function' && !isPromise(value)) {
6
+ throw new AssertionError('`assertron.throws()` must be called with a function or promise.', { ssf: throws });
7
+ }
8
+ if (!isPromise(value)) {
9
+ const { threw, err, result } = tryCatch(value);
10
+ if (threw) {
11
+ if (failValidation(validator, err)) {
12
+ throw new AssertionError(unexpectedErrorMessage(err, validator), { ssf: throws });
13
+ }
14
+ return err;
15
+ }
16
+ value = result;
17
+ }
18
+ if (isPromise(value)) {
19
+ return value.then(value => { throw new AssertionError(notRejectedMessage(value), { ssf: throws }); }, err => {
20
+ if (failValidation(validator, err)) {
21
+ throw new AssertionError(unexpectedErrorMessage(err, validator), { ssf: throws });
22
+ }
23
+ return err;
24
+ });
25
+ }
26
+ throw new AssertionError(notThrownMessage(value), { ssf: throws });
27
+ }
28
+ function tryCatch(fn) {
29
+ let result;
30
+ let err;
31
+ let threw = false;
32
+ try {
33
+ result = fn();
34
+ }
35
+ catch (e) {
36
+ err = e;
37
+ threw = true;
38
+ }
39
+ return { threw, err, result };
40
+ }
41
+ function failValidation(validator, error) {
42
+ if (!validator)
43
+ return false;
44
+ if (isErrorConstructor(validator)) {
45
+ return !(error instanceof validator);
46
+ }
47
+ else {
48
+ return !validator(error);
49
+ }
50
+ }
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyb3dzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Fzc2VydHJvbi90aHJvd3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBTTVHLE1BQU0sVUFBVSxNQUFNLENBQUMsS0FBd0QsRUFBRSxTQUFrRDtJQUNqSSxJQUFJLE9BQU8sS0FBSyxLQUFLLFVBQVUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNwRCxNQUFNLElBQUksY0FBYyxDQUN0QixpRUFBaUUsRUFDakUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQ2hCLENBQUE7S0FDRjtJQUVELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDckIsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzlDLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxjQUFjLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNsQyxNQUFNLElBQUksY0FBYyxDQUFDLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO2FBQ2xGO1lBQ0QsT0FBTyxHQUFHLENBQUE7U0FDWDtRQUNELEtBQUssR0FBRyxNQUFNLENBQUM7S0FDaEI7SUFFRCxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNwQixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQ2YsS0FBSyxDQUFDLEVBQUUsR0FBRyxNQUFNLElBQUksY0FBYyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQ2pGLEdBQUcsQ0FBQyxFQUFFO1lBQ0osSUFBSSxjQUFjLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNsQyxNQUFNLElBQUksY0FBYyxDQUFDLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO2FBQ2xGO1lBQ0QsT0FBTyxHQUFHLENBQUE7UUFDWixDQUFDLENBQ0YsQ0FBQTtLQUNGO0lBRUQsTUFBTSxJQUFJLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO0FBQ3BFLENBQUM7QUFFRCxTQUFTLFFBQVEsQ0FBQyxFQUFhO0lBQzdCLElBQUksTUFBTSxDQUFBO0lBQ1YsSUFBSSxHQUFHLENBQUE7SUFDUCxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUE7SUFDakIsSUFBSTtRQUNGLE1BQU0sR0FBRyxFQUFFLEVBQUUsQ0FBQTtLQUNkO0lBQ0QsT0FBTyxDQUFDLEVBQUU7UUFDUixHQUFHLEdBQUcsQ0FBQyxDQUFBO1FBQ1AsS0FBSyxHQUFHLElBQUksQ0FBQTtLQUNiO0lBQ0QsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUE7QUFDL0IsQ0FBQztBQUNELFNBQVMsY0FBYyxDQUFDLFNBQTZELEVBQUUsS0FBVTtJQUMvRixJQUFJLENBQUMsU0FBUztRQUFFLE9BQU8sS0FBSyxDQUFBO0lBRTVCLElBQUksa0JBQWtCLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDakMsT0FBTyxDQUFDLENBQUMsS0FBSyxZQUFZLFNBQVMsQ0FBQyxDQUFBO0tBQ3JDO1NBQ0k7UUFDSCxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFBO0tBQ3pCO0FBQ0gsQ0FBQyJ9
@@ -0,0 +1,6 @@
1
+ import { AssertionError } from '../errors';
2
+ export function truthy(value) {
3
+ if (!value)
4
+ throw new AssertionError(`Expected value to be truthy, but received ${value}`, { ssf: truthy });
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1dGh5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Fzc2VydHJvbi90cnV0aHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUUzQyxNQUFNLFVBQVUsTUFBTSxDQUFDLEtBQVU7SUFDL0IsSUFBSSxDQUFDLEtBQUs7UUFBRSxNQUFNLElBQUksY0FBYyxDQUNsQyw2Q0FBNkMsS0FBSyxFQUFFLEVBQ3BELEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUNoQixDQUFBO0FBQ0gsQ0FBQyJ9
package/esm/errors.js ADDED
@@ -0,0 +1,18 @@
1
+ import { ModuleError } from 'iso-error';
2
+ import { failOnOccurrence } from './utils';
3
+ /**
4
+ * A base error for all assertion errors
5
+ */
6
+ export class AssertionError extends ModuleError {
7
+ constructor(message, options) {
8
+ super('assertron', message, options);
9
+ }
10
+ }
11
+ export class FailOnOccurrence extends AssertionError {
12
+ constructor(occurrence, error, options) {
13
+ super(failOnOccurrence(occurrence, error), options);
14
+ this.occurrence = occurrence;
15
+ this.error = error;
16
+ }
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVksV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRWpELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUUxQzs7R0FFRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsV0FBVztJQUM3QyxZQUFZLE9BQWUsRUFBRSxPQUErQjtRQUMxRCxLQUFLLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0NBQ0Y7QUFNRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsY0FBYztJQUNsRCxZQUFtQixVQUFrQixFQUFTLEtBQVUsRUFBRSxPQUErQjtRQUN2RixLQUFLLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBRGxDLGVBQVUsR0FBVixVQUFVLENBQVE7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFLO0lBRXhELENBQUM7Q0FDRiJ9
package/esm/index.js ADDED
@@ -0,0 +1,6 @@
1
+ import { assertron } from './assertron';
2
+ export * from './assert-order';
3
+ export * from './errors';
4
+ export * from './assertron';
5
+ export default assertron;
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUV2QyxjQUFjLGdCQUFnQixDQUFBO0FBQzlCLGNBQWMsVUFBVSxDQUFBO0FBQ3hCLGNBQWMsYUFBYSxDQUFBO0FBQzNCLGVBQWUsU0FBUyxDQUFBIn0=