feelin 4.3.1 → 7.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.
- checksums.yaml +4 -4
- data/.gitignore +5 -1
- data/CHANGELOG.md +13 -0
- data/README.md +29 -0
- data/feelin.gemspec +5 -1
- data/lib/feelin/js/dist/feelin.js +13630 -0
- data/lib/feelin/js/entry.js +1 -0
- data/lib/feelin/js/package-lock.json +526 -31
- data/lib/feelin/js/package.json +8 -1
- data/lib/feelin/version.rb +1 -1
- data/lib/feelin.rb +36 -35
- data/spec/feelin/feelin_spec.rb +14 -0
- metadata +10 -104
- data/lib/feelin/js/node_modules/.package-lock.json +0 -67
- data/lib/feelin/js/node_modules/@lezer/common/LICENSE +0 -21
- data/lib/feelin/js/node_modules/@lezer/common/README.md +0 -14
- data/lib/feelin/js/node_modules/@lezer/common/dist/index.cjs +0 -2181
- data/lib/feelin/js/node_modules/@lezer/common/dist/index.d.cts +0 -1137
- data/lib/feelin/js/node_modules/@lezer/common/dist/index.d.ts +0 -1137
- data/lib/feelin/js/node_modules/@lezer/common/dist/index.js +0 -2168
- data/lib/feelin/js/node_modules/@lezer/common/package.json +0 -32
- data/lib/feelin/js/node_modules/@lezer/highlight/LICENSE +0 -21
- data/lib/feelin/js/node_modules/@lezer/highlight/README.md +0 -14
- data/lib/feelin/js/node_modules/@lezer/highlight/dist/index.cjs +0 -915
- data/lib/feelin/js/node_modules/@lezer/highlight/dist/index.d.cts +0 -621
- data/lib/feelin/js/node_modules/@lezer/highlight/dist/index.d.ts +0 -623
- data/lib/feelin/js/node_modules/@lezer/highlight/dist/index.js +0 -904
- data/lib/feelin/js/node_modules/@lezer/highlight/package.json +0 -31
- data/lib/feelin/js/node_modules/@lezer/lr/LICENSE +0 -21
- data/lib/feelin/js/node_modules/@lezer/lr/README.md +0 -25
- data/lib/feelin/js/node_modules/@lezer/lr/dist/constants.d.ts +0 -45
- data/lib/feelin/js/node_modules/@lezer/lr/dist/constants.js +0 -5
- data/lib/feelin/js/node_modules/@lezer/lr/dist/index.cjs +0 -1890
- data/lib/feelin/js/node_modules/@lezer/lr/dist/index.d.cts +0 -303
- data/lib/feelin/js/node_modules/@lezer/lr/dist/index.d.ts +0 -303
- data/lib/feelin/js/node_modules/@lezer/lr/dist/index.js +0 -1883
- data/lib/feelin/js/node_modules/@lezer/lr/package.json +0 -32
- data/lib/feelin/js/node_modules/feelin/LICENSE +0 -21
- data/lib/feelin/js/node_modules/feelin/README.md +0 -65
- data/lib/feelin/js/node_modules/feelin/dist/builtins.d.ts +0 -355
- data/lib/feelin/js/node_modules/feelin/dist/index.cjs +0 -2072
- data/lib/feelin/js/node_modules/feelin/dist/index.cjs.map +0 -1
- data/lib/feelin/js/node_modules/feelin/dist/index.d.ts +0 -3
- data/lib/feelin/js/node_modules/feelin/dist/index.esm.js +0 -2063
- data/lib/feelin/js/node_modules/feelin/dist/index.esm.js.map +0 -1
- data/lib/feelin/js/node_modules/feelin/dist/interpreter.d.ts +0 -26
- data/lib/feelin/js/node_modules/feelin/dist/parser.d.ts +0 -4
- data/lib/feelin/js/node_modules/feelin/dist/temporal.d.ts +0 -6
- data/lib/feelin/js/node_modules/feelin/dist/types.d.ts +0 -35
- data/lib/feelin/js/node_modules/feelin/dist/utils.d.ts +0 -12
- data/lib/feelin/js/node_modules/feelin/package.json +0 -63
- data/lib/feelin/js/node_modules/lezer-feel/LICENSE +0 -21
- data/lib/feelin/js/node_modules/lezer-feel/README.md +0 -94
- data/lib/feelin/js/node_modules/lezer-feel/dist/index.cjs +0 -1328
- data/lib/feelin/js/node_modules/lezer-feel/dist/index.cjs.map +0 -1
- data/lib/feelin/js/node_modules/lezer-feel/dist/index.d.ts +0 -32
- data/lib/feelin/js/node_modules/lezer-feel/dist/index.js +0 -1323
- data/lib/feelin/js/node_modules/lezer-feel/dist/index.js.map +0 -1
- data/lib/feelin/js/node_modules/lezer-feel/package.json +0 -61
- data/lib/feelin/js/node_modules/luxon/LICENSE.md +0 -7
- data/lib/feelin/js/node_modules/luxon/README.md +0 -55
- data/lib/feelin/js/node_modules/luxon/build/amd/luxon.js +0 -8623
- data/lib/feelin/js/node_modules/luxon/build/amd/luxon.js.map +0 -1
- data/lib/feelin/js/node_modules/luxon/build/cjs-browser/luxon.js +0 -8621
- data/lib/feelin/js/node_modules/luxon/build/cjs-browser/luxon.js.map +0 -1
- data/lib/feelin/js/node_modules/luxon/build/es6/luxon.js +0 -8011
- data/lib/feelin/js/node_modules/luxon/build/es6/luxon.js.map +0 -1
- data/lib/feelin/js/node_modules/luxon/build/global/luxon.js +0 -8626
- data/lib/feelin/js/node_modules/luxon/build/global/luxon.js.map +0 -1
- data/lib/feelin/js/node_modules/luxon/build/global/luxon.min.js +0 -1
- data/lib/feelin/js/node_modules/luxon/build/global/luxon.min.js.map +0 -1
- data/lib/feelin/js/node_modules/luxon/build/node/luxon.js +0 -7679
- data/lib/feelin/js/node_modules/luxon/build/node/luxon.js.map +0 -1
- data/lib/feelin/js/node_modules/luxon/package.json +0 -87
- data/lib/feelin/js/node_modules/luxon/src/datetime.js +0 -2566
- data/lib/feelin/js/node_modules/luxon/src/duration.js +0 -990
- data/lib/feelin/js/node_modules/luxon/src/errors.js +0 -61
- data/lib/feelin/js/node_modules/luxon/src/impl/conversions.js +0 -206
- data/lib/feelin/js/node_modules/luxon/src/impl/diff.js +0 -95
- data/lib/feelin/js/node_modules/luxon/src/impl/digits.js +0 -90
- data/lib/feelin/js/node_modules/luxon/src/impl/english.js +0 -233
- data/lib/feelin/js/node_modules/luxon/src/impl/formats.js +0 -176
- data/lib/feelin/js/node_modules/luxon/src/impl/formatter.js +0 -409
- data/lib/feelin/js/node_modules/luxon/src/impl/invalid.js +0 -14
- data/lib/feelin/js/node_modules/luxon/src/impl/locale.js +0 -554
- data/lib/feelin/js/node_modules/luxon/src/impl/regexParser.js +0 -335
- data/lib/feelin/js/node_modules/luxon/src/impl/tokenParser.js +0 -505
- data/lib/feelin/js/node_modules/luxon/src/impl/util.js +0 -316
- data/lib/feelin/js/node_modules/luxon/src/impl/zoneUtil.js +0 -34
- data/lib/feelin/js/node_modules/luxon/src/info.js +0 -205
- data/lib/feelin/js/node_modules/luxon/src/interval.js +0 -665
- data/lib/feelin/js/node_modules/luxon/src/luxon.js +0 -26
- data/lib/feelin/js/node_modules/luxon/src/package.json +0 -4
- data/lib/feelin/js/node_modules/luxon/src/settings.js +0 -180
- data/lib/feelin/js/node_modules/luxon/src/zone.js +0 -97
- data/lib/feelin/js/node_modules/luxon/src/zones/IANAZone.js +0 -231
- data/lib/feelin/js/node_modules/luxon/src/zones/fixedOffsetZone.js +0 -150
- data/lib/feelin/js/node_modules/luxon/src/zones/invalidZone.js +0 -53
- data/lib/feelin/js/node_modules/luxon/src/zones/systemZone.js +0 -61
- data/lib/feelin/js/node_modules/min-dash/LICENSE +0 -21
- data/lib/feelin/js/node_modules/min-dash/README.md +0 -38
- data/lib/feelin/js/node_modules/min-dash/dist/array.d.ts +0 -12
- data/lib/feelin/js/node_modules/min-dash/dist/collection.d.ts +0 -174
- data/lib/feelin/js/node_modules/min-dash/dist/fn.d.ts +0 -37
- data/lib/feelin/js/node_modules/min-dash/dist/index.cjs +0 -910
- data/lib/feelin/js/node_modules/min-dash/dist/index.d.ts +0 -5
- data/lib/feelin/js/node_modules/min-dash/dist/index.esm.js +0 -872
- data/lib/feelin/js/node_modules/min-dash/dist/lang.d.ts +0 -29
- data/lib/feelin/js/node_modules/min-dash/dist/min-dash.js +0 -916
- data/lib/feelin/js/node_modules/min-dash/dist/min-dash.min.js +0 -1
- data/lib/feelin/js/node_modules/min-dash/dist/object.d.ts +0 -112
- data/lib/feelin/js/node_modules/min-dash/package.json +0 -72
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d14d729a1a7a6dfac83eae232db700fe7ee2772e6c6a73b0697d26451b9acb1f
|
|
4
|
+
data.tar.gz: f1ce26b4fe80144b014c50ee6c23d2cf8b1b018044d0143a3838933ef3c164f4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3a1ddc86be9fadbb2043bb23b881b198c81962635276324ad4950c605078f128d3bc5e96f7cca4031633aca42f5084a042e7b20f696e86878117daf3e6d707e2
|
|
7
|
+
data.tar.gz: de182a5cdeb48279e195090b9f93c651fef336b8db7dd6b176e721e32edbd9ea6fd53d31037d789227ec0bf09ed541acf0e60e7a5931801edd25e14676c6b775
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [7.0.1] - 2026-06-22
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
* Updated the bundled `feelin` JavaScript library to 7.0.1.
|
|
13
|
+
* Rebuilt the JavaScript bundle with [esbuild](https://esbuild.github.io/). `feelin` is now distributed as an ES module, so it is pre-bundled into a single IIFE file (`lib/feelin/js/dist/feelin.js`) instead of being assembled from CommonJS at load time.
|
|
14
|
+
* `evaluate` / `unary_test` unwrap feelin 7's `EvaluationResult { value, warnings }` envelope, so callers keep receiving the bare value.
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
* `serialize_context` built invalid JavaScript (a leading comma, `{,…}`) for an empty context once a custom function was registered.
|
|
19
|
+
* `serialize_context` built invalid JavaScript for custom function names containing spaces (e.g. `string join`); function names are now emitted as quoted keys forwarding to the attached global.
|
|
20
|
+
|
|
8
21
|
## [4.3.1] - 2025-03-26
|
|
9
22
|
|
|
10
23
|
* Initial release
|
data/README.md
CHANGED
|
@@ -38,6 +38,35 @@ FEELIN.add_function('rates', proc { [10, 20] })
|
|
|
38
38
|
FEELIN.evaluate('every rate in rates() satisfies rate < 10') # false
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
+
## Development
|
|
42
|
+
|
|
43
|
+
The gem embeds the [feelin](https://github.com/nikku/feelin) JavaScript library, pre-bundled into a single file that is loaded into the V8 context at runtime. The JavaScript sources live in `lib/feelin/js`.
|
|
44
|
+
|
|
45
|
+
### Updating the JavaScript dependencies
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
cd lib/feelin/js
|
|
49
|
+
npm install # install the pinned versions
|
|
50
|
+
npm install feelin@<version> # bump feelin to a specific version
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Building the bundle
|
|
54
|
+
|
|
55
|
+
`feelin` is distributed as an ES module, so it is bundled ahead of time with [esbuild](https://esbuild.github.io/) into `lib/feelin/js/dist/feelin.js` — an IIFE that exposes the feelin API on the global `feel`. The entry point is `lib/feelin/js/entry.js`.
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
cd lib/feelin/js
|
|
59
|
+
npm run build
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Commit the regenerated `dist/feelin.js` together with the updated `package.json` / `package-lock.json`.
|
|
63
|
+
|
|
64
|
+
### Running the tests
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
bundle exec rspec
|
|
68
|
+
```
|
|
69
|
+
|
|
41
70
|
## Versioning policy
|
|
42
71
|
|
|
43
72
|
Because this library is a wrapper - it is released with the same major/minor version numbers as the underlying feelin library
|
data/feelin.gemspec
CHANGED
|
@@ -12,10 +12,14 @@ Gem::Specification.new do |spec|
|
|
|
12
12
|
spec.description = "This gem uses embed V8 JavaScript engine and feelin JavaScript library to parse and evaluate DMN FEEL expressions"
|
|
13
13
|
spec.license = "MIT"
|
|
14
14
|
|
|
15
|
+
spec.metadata['homepage_uri'] = spec.homepage
|
|
16
|
+
spec.metadata['source_code_uri'] = spec.homepage
|
|
17
|
+
spec.metadata['changelog_uri'] = 'https://github.com/ekzo-dev/ruby-feelin/CHANGELOG.md'
|
|
18
|
+
|
|
15
19
|
spec.files = `git ls-files -z`.split("\x0")
|
|
16
20
|
spec.require_paths = ["lib"]
|
|
17
21
|
|
|
18
|
-
spec.add_dependency "mini_racer", "~> 0.
|
|
22
|
+
spec.add_dependency "mini_racer", "~> 0.21"
|
|
19
23
|
|
|
20
24
|
spec.add_development_dependency "rspec", "3.12.0"
|
|
21
25
|
spec.add_development_dependency "byebug", "11.1.3"
|