promise-logic 1.3.2 → 2.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +213 -227
- package/dist/factory.cjs.js +15 -1
- package/dist/factory.cjs.js.map +1 -1
- package/dist/factory.esm.js +15 -1
- package/dist/factory.esm.js.map +1 -1
- package/dist/index.cjs.js +15 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +15 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/v2/factory.cjs.js +287 -0
- package/dist/v2/factory.cjs.js.map +1 -0
- package/dist/v2/factory.esm.js +285 -0
- package/dist/v2/factory.esm.js.map +1 -0
- package/dist/v2/gates/BaseGate.d.ts +6 -0
- package/dist/v2/gates/BaseGate.d.ts.map +1 -0
- package/dist/v2/gates/and.d.ts +5 -0
- package/dist/v2/gates/and.d.ts.map +1 -0
- package/dist/v2/gates/majority.d.ts +5 -0
- package/dist/v2/gates/majority.d.ts.map +1 -0
- package/dist/v2/gates/nand.d.ts +5 -0
- package/dist/v2/gates/nand.d.ts.map +1 -0
- package/dist/v2/gates/nor.d.ts +5 -0
- package/dist/v2/gates/nor.d.ts.map +1 -0
- package/dist/v2/gates/or.d.ts +5 -0
- package/dist/v2/gates/or.d.ts.map +1 -0
- package/dist/v2/gates/xnor.d.ts +5 -0
- package/dist/v2/gates/xnor.d.ts.map +1 -0
- package/dist/v2/gates/xor.d.ts +5 -0
- package/dist/v2/gates/xor.d.ts.map +1 -0
- package/dist/v2/index.cjs.js +289 -0
- package/dist/v2/index.cjs.js.map +1 -0
- package/dist/v2/index.esm.js +285 -0
- package/dist/v2/index.esm.js.map +1 -0
- package/dist/v2/ts/gates/BaseGate.d.ts +6 -0
- package/dist/v2/ts/gates/BaseGate.d.ts.map +1 -0
- package/dist/v2/ts/gates/and.d.ts +5 -0
- package/dist/v2/ts/gates/and.d.ts.map +1 -0
- package/dist/v2/ts/gates/majority.d.ts +5 -0
- package/dist/v2/ts/gates/majority.d.ts.map +1 -0
- package/dist/v2/ts/gates/nand.d.ts +5 -0
- package/dist/v2/ts/gates/nand.d.ts.map +1 -0
- package/dist/v2/ts/gates/nor.d.ts +5 -0
- package/dist/v2/ts/gates/nor.d.ts.map +1 -0
- package/dist/v2/ts/gates/or.d.ts +5 -0
- package/dist/v2/ts/gates/or.d.ts.map +1 -0
- package/dist/v2/ts/gates/xnor.d.ts +5 -0
- package/dist/v2/ts/gates/xnor.d.ts.map +1 -0
- package/dist/v2/ts/gates/xor.d.ts +5 -0
- package/dist/v2/ts/gates/xor.d.ts.map +1 -0
- package/dist/v2/types/factory.d.ts +10 -0
- package/dist/v2/types/index.d.ts +85 -0
- package/dist/v2/utils/v2/errors.d.ts +7 -0
- package/dist/v2/utils/v2/errors.d.ts.map +1 -0
- package/dist/v2/v2/PromiseLogic.d.ts +29 -0
- package/dist/v2/v2/PromiseLogic.d.ts.map +1 -0
- package/dist/v2/v2/factory.d.ts +7 -0
- package/dist/v2/v2/factory.d.ts.map +1 -0
- package/dist/v2/v2/index.d.ts +6 -0
- package/dist/v2/v2/index.d.ts.map +1 -0
- package/package.json +14 -10
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.cjs.js","sources":["../../../src/gates/BaseGate.ts","../../../src/gates/or.ts","../../../src/gates/and.ts","../../../src/utils/v2/errors.ts","../../../src/gates/majority.ts","../../../src/gates/nand.ts","../../../src/gates/nor.ts","../../../src/gates/xnor.ts","../../../src/gates/xor.ts","../../../src/v2/PromiseLogic.ts","../../../src/v2/factory.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["PromiseLogicError"],"mappings":"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"}
|
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
class BaseGate {
|
|
2
|
+
filterResults(results, status) {
|
|
3
|
+
if (status === 'fulfilled') {
|
|
4
|
+
return results
|
|
5
|
+
.filter((result) => result.status === 'fulfilled')
|
|
6
|
+
.map(result => result.value);
|
|
7
|
+
}
|
|
8
|
+
else {
|
|
9
|
+
return results
|
|
10
|
+
.filter((result) => result.status === 'rejected')
|
|
11
|
+
.map(result => result.reason);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
countFulfilled(results) {
|
|
15
|
+
return results.filter(result => result.status === 'fulfilled').length;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
class OrGate extends BaseGate {
|
|
20
|
+
async execute(iterable) {
|
|
21
|
+
return Promise.any(iterable);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
class AndGate extends BaseGate {
|
|
26
|
+
async execute(iterable) {
|
|
27
|
+
try {
|
|
28
|
+
return Promise.all(iterable);
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
throw new PromiseLogicError('AND_ERROR', 'AND gate failed', [error]);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
let PromiseLogicError$1 = class PromiseLogicError extends Error {
|
|
37
|
+
constructor(type, message, results) {
|
|
38
|
+
super(message);
|
|
39
|
+
this.type = type;
|
|
40
|
+
this.results = results;
|
|
41
|
+
this.name = 'PromiseLogicError';
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
// Error factory function
|
|
45
|
+
function createLogicError(type, fulfilledCount, total, results) {
|
|
46
|
+
const messages = {
|
|
47
|
+
XOR_ERROR: `XOR condition failed: expected exactly 1 promise to fulfill, but ${fulfilledCount} fulfilled.`,
|
|
48
|
+
NAND_ERROR: `NAND condition failed: all ${total} promises fulfilled (expected at least one rejection).`,
|
|
49
|
+
NOR_ERROR: `NOR condition failed: ${fulfilledCount} promises fulfilled (expected all rejected).`,
|
|
50
|
+
XNOR_ERROR: `XNOR condition failed: ${fulfilledCount}/${total} promises fulfilled (expected all or none).`,
|
|
51
|
+
MAJORITY_ERROR: `Majority condition failed: ${fulfilledCount}/${total} fulfilled (need majority).`,
|
|
52
|
+
ALL_SUCCESSFUL_ERROR: `All successful condition failed: ${fulfilledCount}/${total} promises fulfilled (expected all to succeed).`,
|
|
53
|
+
ALL_FAILED_ERROR: `All failed condition failed: ${total - fulfilledCount}/${total} promises rejected (expected all to fail).`
|
|
54
|
+
};
|
|
55
|
+
return new PromiseLogicError$1(type, messages[type] || 'Logic condition failed', results);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
class MajorityGate extends BaseGate {
|
|
59
|
+
async execute(iterable) {
|
|
60
|
+
const results = await Promise.allSettled(iterable);
|
|
61
|
+
const fulfilled = this.filterResults(results, 'fulfilled');
|
|
62
|
+
const fulfilledCount = fulfilled.length;
|
|
63
|
+
const total = results.length;
|
|
64
|
+
// Majority logic: success count > failure count
|
|
65
|
+
if (fulfilledCount > total - fulfilledCount) {
|
|
66
|
+
return fulfilled;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
throw createLogicError('MAJORITY_ERROR', fulfilledCount, total, results);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
class NandGate extends BaseGate {
|
|
75
|
+
async execute(iterable) {
|
|
76
|
+
const results = await Promise.allSettled(iterable);
|
|
77
|
+
const fulfilled = this.filterResults(results, 'fulfilled');
|
|
78
|
+
const fulfilledCount = fulfilled.length;
|
|
79
|
+
const total = results.length;
|
|
80
|
+
if (fulfilledCount === total) {
|
|
81
|
+
// 全部成功,抛出NAND_ERROR
|
|
82
|
+
throw createLogicError('NAND_ERROR', fulfilledCount, total, results);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
// 不是所有都成功,返回成功的值数组
|
|
86
|
+
return fulfilled;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
class NorGate extends BaseGate {
|
|
92
|
+
async execute(iterable) {
|
|
93
|
+
const results = await Promise.allSettled(iterable);
|
|
94
|
+
const fulfilled = this.filterResults(results, 'fulfilled');
|
|
95
|
+
const fulfilledCount = fulfilled.length;
|
|
96
|
+
const total = results.length;
|
|
97
|
+
if (fulfilledCount === 0) {
|
|
98
|
+
// 全部失败,返回空数组表示成功
|
|
99
|
+
return [];
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
// 任意成功,抛出NOR_ERROR
|
|
103
|
+
throw createLogicError('NOR_ERROR', fulfilledCount, total, results);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
class XnorGate extends BaseGate {
|
|
109
|
+
async execute(iterable) {
|
|
110
|
+
const results = await Promise.allSettled(iterable);
|
|
111
|
+
const fulfilled = this.filterResults(results, 'fulfilled');
|
|
112
|
+
const fulfilledCount = fulfilled.length;
|
|
113
|
+
const total = results.length;
|
|
114
|
+
if (fulfilledCount === 0 || fulfilledCount === total) {
|
|
115
|
+
// 全部成功或全部失败,返回成功的值数组
|
|
116
|
+
return fulfilled;
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
// 部分成功部分失败,抛出XNOR_ERROR
|
|
120
|
+
throw createLogicError('XNOR_ERROR', fulfilledCount, total, results);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
class XorGate extends BaseGate {
|
|
126
|
+
async execute(iterable) {
|
|
127
|
+
const results = await Promise.allSettled(iterable);
|
|
128
|
+
const fulfilled = results.filter(result => result.status === 'fulfilled');
|
|
129
|
+
const fulfilledCount = fulfilled.length;
|
|
130
|
+
const total = results.length;
|
|
131
|
+
if (fulfilledCount === 1) {
|
|
132
|
+
return fulfilled[0].value;
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
throw createLogicError('XOR_ERROR', fulfilledCount, total, results);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
class PromiseLogicError extends Error {
|
|
141
|
+
constructor(type, message, results) {
|
|
142
|
+
super(message);
|
|
143
|
+
this.type = type;
|
|
144
|
+
this.results = results;
|
|
145
|
+
this.name = 'PromiseLogicError';
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
class PromiseLogic {
|
|
149
|
+
static get gates() {
|
|
150
|
+
return {
|
|
151
|
+
and: new AndGate(),
|
|
152
|
+
or: new OrGate(),
|
|
153
|
+
xor: new XorGate(),
|
|
154
|
+
nand: new NandGate(),
|
|
155
|
+
nor: new NorGate(),
|
|
156
|
+
xnor: new XnorGate(),
|
|
157
|
+
majority: new MajorityGate()
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
// Core Logic Gates
|
|
161
|
+
static and(iterable) {
|
|
162
|
+
return this.gates.and.execute(iterable);
|
|
163
|
+
}
|
|
164
|
+
static or(iterable) {
|
|
165
|
+
return this.gates.or.execute(iterable);
|
|
166
|
+
}
|
|
167
|
+
static xor(iterable) {
|
|
168
|
+
return this.gates.xor.execute(iterable);
|
|
169
|
+
}
|
|
170
|
+
static nand(iterable) {
|
|
171
|
+
return this.gates.nand.execute(iterable);
|
|
172
|
+
}
|
|
173
|
+
static nor(iterable) {
|
|
174
|
+
return this.gates.nor.execute(iterable);
|
|
175
|
+
}
|
|
176
|
+
static xnor(iterable) {
|
|
177
|
+
return this.gates.xnor.execute(iterable);
|
|
178
|
+
}
|
|
179
|
+
static majority(iterable) {
|
|
180
|
+
return this.gates.majority.execute(iterable);
|
|
181
|
+
}
|
|
182
|
+
// Extended Operations
|
|
183
|
+
static allFulfilled(iterable) {
|
|
184
|
+
return Promise.allSettled(iterable).then((results) => {
|
|
185
|
+
const fulfilled = results.filter(result => result.status === 'fulfilled');
|
|
186
|
+
return fulfilled.map(result => result.value);
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
static allRejected(iterable) {
|
|
190
|
+
return Promise.allSettled(iterable).then((results) => {
|
|
191
|
+
return results
|
|
192
|
+
.filter((result) => result.status === 'rejected')
|
|
193
|
+
.map(result => result.reason);
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
// NOT logic - Inverts promise resolution
|
|
197
|
+
static not(promise) {
|
|
198
|
+
return Promise.resolve(promise).then((value) => Promise.reject(value), (reason) => Promise.resolve(reason));
|
|
199
|
+
}
|
|
200
|
+
// Utility Methods
|
|
201
|
+
static race(iterable) {
|
|
202
|
+
return Promise.race(iterable);
|
|
203
|
+
}
|
|
204
|
+
static allSettled(iterable) {
|
|
205
|
+
return Promise.allSettled(iterable);
|
|
206
|
+
}
|
|
207
|
+
static createFlipFlop(initialState = false) {
|
|
208
|
+
let state = initialState;
|
|
209
|
+
let resolveCurrent = null;
|
|
210
|
+
let currentPromise = Promise.resolve(state);
|
|
211
|
+
const waitForChange = () => {
|
|
212
|
+
if (!resolveCurrent) {
|
|
213
|
+
currentPromise = new Promise((resolve) => {
|
|
214
|
+
resolveCurrent = resolve;
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
return currentPromise;
|
|
218
|
+
};
|
|
219
|
+
return {
|
|
220
|
+
getState() {
|
|
221
|
+
return state;
|
|
222
|
+
},
|
|
223
|
+
async set(newState) {
|
|
224
|
+
state = newState;
|
|
225
|
+
if (resolveCurrent) {
|
|
226
|
+
resolveCurrent(state);
|
|
227
|
+
resolveCurrent = null;
|
|
228
|
+
}
|
|
229
|
+
currentPromise = Promise.resolve(state);
|
|
230
|
+
return state;
|
|
231
|
+
},
|
|
232
|
+
async toggle() {
|
|
233
|
+
return this.set(!state);
|
|
234
|
+
},
|
|
235
|
+
waitForChange,
|
|
236
|
+
waitFor(targetState) {
|
|
237
|
+
if (state === targetState) {
|
|
238
|
+
return Promise.resolve(state);
|
|
239
|
+
}
|
|
240
|
+
return new Promise((resolve) => {
|
|
241
|
+
const checkState = () => {
|
|
242
|
+
if (state === targetState) {
|
|
243
|
+
resolve(state);
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
waitForChange().then(checkState);
|
|
247
|
+
}
|
|
248
|
+
};
|
|
249
|
+
checkState();
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
function createPromiseLogic(options = {}) {
|
|
257
|
+
const { prefix = '', suffix = '', rename = {} } = options;
|
|
258
|
+
// 基础方法映射
|
|
259
|
+
const methods = {
|
|
260
|
+
and: PromiseLogic.and,
|
|
261
|
+
or: PromiseLogic.or,
|
|
262
|
+
not: PromiseLogic.not,
|
|
263
|
+
race: PromiseLogic.race,
|
|
264
|
+
allSettled: PromiseLogic.allSettled,
|
|
265
|
+
xor: PromiseLogic.xor,
|
|
266
|
+
nand: PromiseLogic.nand,
|
|
267
|
+
nor: PromiseLogic.nor,
|
|
268
|
+
xnor: PromiseLogic.xnor,
|
|
269
|
+
majority: PromiseLogic.majority,
|
|
270
|
+
allFulfilled: PromiseLogic.allFulfilled,
|
|
271
|
+
allRejected: PromiseLogic.allRejected
|
|
272
|
+
};
|
|
273
|
+
// 应用命名转换
|
|
274
|
+
const result = {};
|
|
275
|
+
Object.entries(methods).forEach(([key, fn]) => {
|
|
276
|
+
// 优先使用rename映射,然后应用prefix和suffix
|
|
277
|
+
const baseName = rename[key] || key;
|
|
278
|
+
const finalName = `${prefix}${baseName}${suffix}`;
|
|
279
|
+
result[finalName] = fn;
|
|
280
|
+
});
|
|
281
|
+
return result;
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
export { createPromiseLogic };
|
|
285
|
+
//# sourceMappingURL=factory.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.esm.js","sources":["../../../src/gates/BaseGate.ts","../../../src/gates/or.ts","../../../src/gates/and.ts","../../../src/utils/v2/errors.ts","../../../src/gates/majority.ts","../../../src/gates/nand.ts","../../../src/gates/nor.ts","../../../src/gates/xnor.ts","../../../src/gates/xor.ts","../../../src/v2/PromiseLogic.ts","../../../src/v2/factory.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["PromiseLogicError"],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare abstract class BaseGate {
|
|
2
|
+
abstract execute<T>(iterable: Iterable<T | PromiseLike<T>>): Promise<T | T[]>;
|
|
3
|
+
protected filterResults<T>(results: PromiseSettledResult<T>[], status: 'fulfilled' | 'rejected'): (T)[];
|
|
4
|
+
protected countFulfilled<T>(results: PromiseSettledResult<T>[]): number;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=BaseGate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseGate.d.ts","sourceRoot":"","sources":["../../../src/gates/BaseGate.ts"],"names":[],"mappings":"AAAA,8BAAsB,QAAQ;IAC5B,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAE7E,SAAS,CAAC,aAAa,CAAC,CAAC,EACvB,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAClC,MAAM,EAAE,WAAW,GAAG,UAAU,GAC/B,CAAC,CAAC,CAAC,EAAE;IAYR,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM;CAGxE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"and.d.ts","sourceRoot":"","sources":["../../../src/gates/and.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,qBAAa,OAAQ,SAAQ,QAAQ;IAC7B,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;CAUvE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"majority.d.ts","sourceRoot":"","sources":["../../../src/gates/majority.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,qBAAa,YAAa,SAAQ,QAAQ;IAClC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;CAavE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nand.d.ts","sourceRoot":"","sources":["../../../src/gates/nand.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,qBAAa,QAAS,SAAQ,QAAQ;IAC9B,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;CAcvE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nor.d.ts","sourceRoot":"","sources":["../../../src/gates/nor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,qBAAa,OAAQ,SAAQ,QAAQ;IAC7B,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;CAcvE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"or.d.ts","sourceRoot":"","sources":["../../../src/gates/or.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,qBAAa,MAAO,SAAQ,QAAQ;IAC5B,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAGrE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xnor.d.ts","sourceRoot":"","sources":["../../../src/gates/xnor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,qBAAa,QAAS,SAAQ,QAAQ;IAC9B,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;CAcvE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xor.d.ts","sourceRoot":"","sources":["../../../src/gates/xor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,qBAAa,OAAQ,SAAQ,QAAQ;IAC7B,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAYrE"}
|