trilean 0.0.0 → 1.0.1
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/LICENSE +21 -0
- package/README.md +636 -0
- package/dist/computed-value.cjs +71 -0
- package/dist/computed-value.d.cts +43 -0
- package/dist/computed-value.d.ts +43 -0
- package/dist/computed-value.js +65 -0
- package/dist/derived-aggregates.cjs +74 -0
- package/dist/derived-aggregates.d.cts +12 -0
- package/dist/derived-aggregates.d.ts +12 -0
- package/dist/derived-aggregates.js +70 -0
- package/dist/derived-connectives.cjs +40 -0
- package/dist/derived-connectives.d.cts +17 -0
- package/dist/derived-connectives.d.ts +17 -0
- package/dist/derived-connectives.js +31 -0
- package/dist/evaluation.cjs +39 -0
- package/dist/evaluation.d.cts +29 -0
- package/dist/evaluation.d.ts +29 -0
- package/dist/evaluation.js +35 -0
- package/dist/evaluator.cjs +482 -0
- package/dist/evaluator.d.cts +18 -0
- package/dist/evaluator.d.ts +18 -0
- package/dist/evaluator.js +479 -0
- package/dist/functions.cjs +5 -0
- package/dist/functions.d.cts +11 -0
- package/dist/functions.d.ts +11 -0
- package/dist/functions.js +4 -0
- package/dist/index.cjs +69 -0
- package/dist/index.d.cts +10 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +9 -0
- package/dist/json-value-B1Hjjjri.d.cts +11 -0
- package/dist/json-value-B1Hjjjri.d.ts +11 -0
- package/dist/json-value.cjs +13 -0
- package/dist/json-value.d.cts +2 -0
- package/dist/json-value.d.ts +2 -0
- package/dist/json-value.js +12 -0
- package/dist/resolvers.cjs +0 -0
- package/dist/resolvers.d.cts +28 -0
- package/dist/resolvers.d.ts +28 -0
- package/dist/resolvers.js +0 -0
- package/dist/tree.cjs +289 -0
- package/dist/tree.d.cts +368 -0
- package/dist/tree.d.ts +368 -0
- package/dist/tree.js +257 -0
- package/package.json +114 -2
- package/schemas/trilean.schema.json +1 -0
package/package.json
CHANGED
|
@@ -1,5 +1,117 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "trilean",
|
|
3
|
-
"version": "
|
|
4
|
-
"
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "Consumer-agnostic, three-valued predicate/expression evaluation trees over injected resolvers -- no assumptions about consumer data, no I/O of its own.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/ExaDev/trilean.git"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://github.com/ExaDev/trilean#readme",
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/ExaDev/trilean/issues"
|
|
13
|
+
},
|
|
14
|
+
"exports": {
|
|
15
|
+
".": {
|
|
16
|
+
"types": {
|
|
17
|
+
"import": "./dist/index.d.ts",
|
|
18
|
+
"require": "./dist/index.d.cts"
|
|
19
|
+
},
|
|
20
|
+
"import": "./dist/index.js",
|
|
21
|
+
"require": "./dist/index.cjs"
|
|
22
|
+
},
|
|
23
|
+
"./*": {
|
|
24
|
+
"types": {
|
|
25
|
+
"import": "./dist/*.d.ts",
|
|
26
|
+
"require": "./dist/*.d.cts"
|
|
27
|
+
},
|
|
28
|
+
"import": "./dist/*.js",
|
|
29
|
+
"require": "./dist/*.cjs"
|
|
30
|
+
},
|
|
31
|
+
"./schemas/*.schema.json": "./schemas/*.schema.json"
|
|
32
|
+
},
|
|
33
|
+
"main": "./dist/index.cjs",
|
|
34
|
+
"module": "./dist/index.js",
|
|
35
|
+
"types": "./dist/index.d.ts",
|
|
36
|
+
"files": [
|
|
37
|
+
"dist",
|
|
38
|
+
"schemas"
|
|
39
|
+
],
|
|
40
|
+
"publishConfig": {
|
|
41
|
+
"access": "public",
|
|
42
|
+
"provenance": true,
|
|
43
|
+
"registry": "https://registry.npmjs.org/"
|
|
44
|
+
},
|
|
45
|
+
"sideEffects": false,
|
|
46
|
+
"engines": {
|
|
47
|
+
"node": ">=20"
|
|
48
|
+
},
|
|
49
|
+
"license": "MIT",
|
|
50
|
+
"packageManager": "pnpm@11.6.0",
|
|
51
|
+
"dependencies": {
|
|
52
|
+
"zod": "^4.5.4"
|
|
53
|
+
},
|
|
54
|
+
"scripts": {
|
|
55
|
+
"build": "turbo run _build",
|
|
56
|
+
"_build": "tsdown && tsx scripts/generate-json-schema.ts",
|
|
57
|
+
"lint": "turbo run _lint",
|
|
58
|
+
"_lint": "eslint . --fix --cache --max-warnings 0",
|
|
59
|
+
"typecheck": "turbo run _typecheck",
|
|
60
|
+
"_typecheck": "tsc -p tsconfig.json && tsc -p tsconfig.node.json",
|
|
61
|
+
"test": "turbo run _test",
|
|
62
|
+
"_test": "vitest run --project unit",
|
|
63
|
+
"test:coverage": "turbo run _test:coverage",
|
|
64
|
+
"_test:coverage": "vitest run --project unit --coverage",
|
|
65
|
+
"test:integration": "turbo run _test:integration",
|
|
66
|
+
"_test:integration": "vitest run --project integration",
|
|
67
|
+
"test:smoke": "turbo run _test:smoke",
|
|
68
|
+
"_test:smoke": "vitest run --project smoke",
|
|
69
|
+
"test:workers": "turbo run _test:workers",
|
|
70
|
+
"_test:workers": "vitest run --project workers",
|
|
71
|
+
"prepublishOnly": "pnpm run lint && pnpm run typecheck && pnpm run test && pnpm run test:integration && pnpm run build && pnpm run test:smoke && publint && attw --pack",
|
|
72
|
+
"prepare": "husky",
|
|
73
|
+
"release": "semantic-release"
|
|
74
|
+
},
|
|
75
|
+
"keywords": [
|
|
76
|
+
"json",
|
|
77
|
+
"predicate",
|
|
78
|
+
"expression",
|
|
79
|
+
"evaluator",
|
|
80
|
+
"three-valued-logic",
|
|
81
|
+
"zod",
|
|
82
|
+
"rules-engine",
|
|
83
|
+
"isomorphic"
|
|
84
|
+
],
|
|
85
|
+
"devDependencies": {
|
|
86
|
+
"@arethetypeswrong/cli": "^0.18.5",
|
|
87
|
+
"@cloudflare/vitest-pool-workers": "^0.22.0",
|
|
88
|
+
"@commitlint/cli": "^21.2.2",
|
|
89
|
+
"@commitlint/config-conventional": "^21.2.2",
|
|
90
|
+
"@eslint/js": "^10.0.1",
|
|
91
|
+
"@exadev/eslint-config": "^2.10.2",
|
|
92
|
+
"@semantic-release/changelog": "^7.0.0",
|
|
93
|
+
"@semantic-release/commit-analyzer": "^13.0.1",
|
|
94
|
+
"@semantic-release/git": "^11.0.1",
|
|
95
|
+
"@semantic-release/github": "^12.0.9",
|
|
96
|
+
"@semantic-release/npm": "^13.1.5",
|
|
97
|
+
"@semantic-release/release-notes-generator": "^14.1.1",
|
|
98
|
+
"@types/node": "^26.4.0",
|
|
99
|
+
"@vitest/coverage-v8": "^4.1.11",
|
|
100
|
+
"canonicalize": "^4.0.0",
|
|
101
|
+
"eslint": "^10.9.1",
|
|
102
|
+
"eslint-config-prettier": "^10.1.8",
|
|
103
|
+
"eslint-plugin-prettier": "^5.5.6",
|
|
104
|
+
"globals": "^17.11.0",
|
|
105
|
+
"husky": "^9.1.7",
|
|
106
|
+
"lint-staged": "^17.4.1",
|
|
107
|
+
"prettier": "^3.9.6",
|
|
108
|
+
"publint": "^0.3.24",
|
|
109
|
+
"semantic-release": "^25.0.9",
|
|
110
|
+
"tsdown": "^0.22.14",
|
|
111
|
+
"tsx": "^4.23.13",
|
|
112
|
+
"turbo": "^2.10.12",
|
|
113
|
+
"typescript": "^6.0.3",
|
|
114
|
+
"typescript-eslint": "^8.68.0",
|
|
115
|
+
"vitest": "^4.1.11"
|
|
116
|
+
}
|
|
5
117
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$defs":{"ExpressionNode":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"numberLiteral","type":"string"},"unit":{"additionalProperties":{"type":"number"},"propertyNames":{"type":"string"},"type":"object"},"value":{"type":"number"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"textLiteral","type":"string"},"value":{"type":"string"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"instantLiteral","type":"string"},"value":{"type":"string"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"durationLiteral","type":"string"},"unit":{"enum":["ms","s","min","h","d"],"type":"string"},"value":{"type":"number"}},"required":["kind","value","unit"],"type":"object"},{"additionalProperties":false,"properties":{"key":{"$ref":"#/$defs/schema0"},"kind":{"const":"reference","type":"string"},"unit":{"additionalProperties":{"type":"number"},"propertyNames":{"type":"string"},"type":"object"}},"required":["kind","key"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"arithmetic","type":"string"},"left":{"$ref":"#/$defs/ExpressionNode"},"op":{"enum":["add","subtract","multiply","divide","power","modulo"],"type":"string"},"right":{"$ref":"#/$defs/ExpressionNode"}},"required":["kind","op","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"negate","type":"string"},"operand":{"$ref":"#/$defs/ExpressionNode"}},"required":["kind","operand"],"type":"object"},{"additionalProperties":false,"properties":{"args":{"items":{"$ref":"#/$defs/ExpressionNode"},"type":"array"},"fn":{"type":"string"},"kind":{"const":"call","type":"string"}},"required":["kind","fn","args"],"type":"object"},{"additionalProperties":false,"properties":{"keys":{"items":{"$ref":"#/$defs/ExpressionNode"},"type":"array"},"kind":{"const":"lookup","type":"string"},"table":{"$ref":"#/$defs/schema0"}},"required":["kind","table","keys"],"type":"object"},{"additionalProperties":false,"properties":{"cases":{"items":{"additionalProperties":false,"properties":{"then":{"$ref":"#/$defs/ExpressionNode"},"when":{"$ref":"#/$defs/PredicateNode"}},"required":["when","then"],"type":"object"},"type":"array"},"fallback":{"$ref":"#/$defs/ExpressionNode"},"kind":{"const":"conditional","type":"string"}},"required":["kind","cases","fallback"],"type":"object"},{"additionalProperties":false,"properties":{"collection":{"$ref":"#/$defs/schema0"},"combiner":{"oneOf":[{"additionalProperties":false,"properties":{"item":{"$ref":"#/$defs/ExpressionNode"},"mode":{"const":"max","type":"string"}},"required":["mode","item"],"type":"object"},{"additionalProperties":false,"properties":{"item":{"$ref":"#/$defs/ExpressionNode"},"mode":{"const":"min","type":"string"}},"required":["mode","item"],"type":"object"},{"additionalProperties":false,"properties":{"combine":{"$ref":"#/$defs/ExpressionNode"},"initial":{"$ref":"#/$defs/ExpressionNode"},"mode":{"const":"reduce","type":"string"}},"required":["mode","initial","combine"],"type":"object"}]},"filter":{"$ref":"#/$defs/PredicateNode"},"kind":{"const":"fold","type":"string"}},"required":["kind","collection","combiner"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"accumulator","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"delegate","type":"string"},"payload":{"$ref":"#/$defs/schema0"},"system":{"type":"string"}},"required":["kind","system","payload"],"type":"object"}]},"PredicateNode":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"not","type":"string"},"operand":{"$ref":"#/$defs/PredicateNode"}},"required":["kind","operand"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"and","type":"string"},"left":{"$ref":"#/$defs/PredicateNode"},"right":{"$ref":"#/$defs/PredicateNode"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"or","type":"string"},"left":{"$ref":"#/$defs/PredicateNode"},"right":{"$ref":"#/$defs/PredicateNode"}},"required":["kind","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"allOf","type":"string"},"operands":{"items":{"$ref":"#/$defs/PredicateNode"},"type":"array"}},"required":["kind","operands"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"anyOf","type":"string"},"operands":{"items":{"$ref":"#/$defs/PredicateNode"},"type":"array"}},"required":["kind","operands"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"compare","type":"string"},"left":{"$ref":"#/$defs/ExpressionNode"},"op":{"enum":["gt","gte","lt","lte","eq","neq"],"type":"string"},"right":{"$ref":"#/$defs/ExpressionNode"}},"required":["kind","op","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"textCompare","type":"string"},"left":{"$ref":"#/$defs/ExpressionNode"},"op":{"enum":["equals","notEquals","matches","notMatches"],"type":"string"},"right":{"$ref":"#/$defs/ExpressionNode"}},"required":["kind","op","left","right"],"type":"object"},{"additionalProperties":false,"properties":{"candidates":{"items":{"$ref":"#/$defs/ExpressionNode"},"type":"array"},"kind":{"const":"memberOf","type":"string"},"op":{"enum":["in","notIn"],"type":"string"},"operand":{"$ref":"#/$defs/ExpressionNode"}},"required":["kind","op","operand","candidates"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"exists","type":"string"},"operand":{"$ref":"#/$defs/ExpressionNode"}},"required":["kind","operand"],"type":"object"},{"additionalProperties":false,"properties":{"collection":{"$ref":"#/$defs/schema0"},"filter":{"$ref":"#/$defs/PredicateNode"},"item":{"$ref":"#/$defs/PredicateNode"},"kind":{"const":"some","type":"string"}},"required":["kind","collection","item"],"type":"object"},{"additionalProperties":false,"properties":{"collection":{"$ref":"#/$defs/schema0"},"filter":{"$ref":"#/$defs/PredicateNode"},"item":{"$ref":"#/$defs/PredicateNode"},"kind":{"const":"every","type":"string"}},"required":["kind","collection","item"],"type":"object"}]},"schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$id":"https://cdn.jsdelivr.net/npm/trilean@1.0.1/schemas/trilean.schema.json","$schema":"https://json-schema.org/draft/2020-12/schema","oneOf":[{"$ref":"#/$defs/PredicateNode"},{"$ref":"#/$defs/ExpressionNode"}]}
|