@thisisagile/easy
Version:
Straightforward library for building domain-driven microservice architectures
80 lines (79 loc) • 2.39 kB
JavaScript
import {
isValid
} from "../chunk-XAIHCZT4.mjs";
import "../chunk-OFGI5FLG.mjs";
import "../chunk-NCEWAKOZ.mjs";
import "../chunk-Q3WMGUO2.mjs";
import "../chunk-5HENJTR6.mjs";
import "../chunk-FKZ4MOTX.mjs";
import "../chunk-WSBULPUZ.mjs";
import "../chunk-JVDKV5HE.mjs";
import "../chunk-WTFW6DLP.mjs";
import "../chunk-NDCIZJXB.mjs";
import "../chunk-MCCIBDEH.mjs";
import "../chunk-H2762RTS.mjs";
import "../chunk-A7C3XND3.mjs";
import "../chunk-JSON7A4X.mjs";
import {
toArray
} from "../chunk-CO2AFYVD.mjs";
import "../chunk-BDA5LB4S.mjs";
import {
ofGet
} from "../chunk-SJGQU3OG.mjs";
import "../chunk-ZHXKBOK2.mjs";
import {
on
} from "../chunk-ZPNFXK7Y.mjs";
import "../chunk-DXQSIBC7.mjs";
import "../chunk-PIRWVOO2.mjs";
import {
isDefined,
isEmpty,
isIn,
isObject,
isString,
isTrue
} from "../chunk-DEJ7A5PY.mjs";
import "../chunk-4N72FQFX.mjs";
// src/types/Parser.ts
var Parser = class {
constructor(value, valid = true) {
this.value = value;
this.valid = valid;
}
if = {
equals: (pred) => this.evaluate(isTrue, pred),
empty: (pred) => this.evaluate(isEmpty, pred),
defined: (pred) => this.evaluate(isDefined, pred),
valid: (pred) => this.evaluate(isValid, pred),
in: (...items) => this.evaluate(() => isIn(this.value, toArray(...items))),
is: {
object: (pred) => this.evaluate(isObject, pred),
string: (pred) => this.evaluate(isString, pred),
instance: (c, pred) => this.evaluate(() => this.value instanceof c, pred)
},
not: {
empty: (pred) => this.evaluateNot(isEmpty, pred),
defined: (pred) => this.evaluateNot(isDefined, pred),
valid: (pred) => this.evaluateNot(isValid, pred),
isObject: (pred) => this.evaluateNot(isObject, pred),
in: (...items) => this.evaluate(() => !isIn(this.value, toArray(...items))),
is: {
object: (pred) => this.evaluateNot(isObject, pred),
string: (pred) => this.evaluateNot(isString, pred),
instance: (c, pred) => this.evaluate(() => !(this.value instanceof c), pred)
}
}
};
evaluate(meta, pred) {
return on(this, (t) => t.valid = ofGet(meta, pred ? ofGet(pred, this.value) : this.value));
}
evaluateNot(meta, pred) {
return on(this, (t) => t.valid = !ofGet(meta, pred ? ofGet(pred, this.value) : this.value));
}
};
export {
Parser
};
//# sourceMappingURL=Parser.mjs.map