fable 3.1.50 → 3.1.52
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 +87 -2
- package/dist/fable.js +74 -46
- package/dist/fable.js.map +1 -1
- package/dist/fable.min.js +2 -2
- package/dist/fable.min.js.map +1 -1
- package/docs/.nojekyll +0 -0
- package/docs/README.md +95 -0
- package/docs/_sidebar.md +42 -0
- package/docs/architecture.md +326 -0
- package/docs/cover.md +11 -0
- package/docs/index.html +51 -0
- package/docs/services/README.md +76 -0
- package/docs/services/anticipate.md +331 -0
- package/docs/services/csv-parser.md +152 -0
- package/docs/services/data-format.md +277 -0
- package/docs/services/data-generation.md +142 -0
- package/docs/services/dates.md +216 -0
- package/docs/services/environment-data.md +44 -0
- package/docs/services/expression-parser-functions/README.md +178 -0
- package/docs/services/expression-parser-functions/abs.md +84 -0
- package/docs/services/expression-parser-functions/aggregationhistogram.md +83 -0
- package/docs/services/expression-parser-functions/aggregationhistogrambyobject.md +64 -0
- package/docs/services/expression-parser-functions/arrayconcat.md +64 -0
- package/docs/services/expression-parser-functions/avg.md +81 -0
- package/docs/services/expression-parser-functions/bucketset.md +69 -0
- package/docs/services/expression-parser-functions/ceil.md +70 -0
- package/docs/services/expression-parser-functions/cleanvaluearray.md +66 -0
- package/docs/services/expression-parser-functions/cleanvalueobject.md +68 -0
- package/docs/services/expression-parser-functions/compare.md +72 -0
- package/docs/services/expression-parser-functions/concat.md +73 -0
- package/docs/services/expression-parser-functions/concatraw.md +73 -0
- package/docs/services/expression-parser-functions/cos.md +75 -0
- package/docs/services/expression-parser-functions/count.md +73 -0
- package/docs/services/expression-parser-functions/countset.md +65 -0
- package/docs/services/expression-parser-functions/countsetelements.md +63 -0
- package/docs/services/expression-parser-functions/createarrayfromabsolutevalues.md +63 -0
- package/docs/services/expression-parser-functions/createvalueobjectbyhashes.md +69 -0
- package/docs/services/expression-parser-functions/cumulativesummation.md +96 -0
- package/docs/services/expression-parser-functions/dateadddays.md +79 -0
- package/docs/services/expression-parser-functions/dateaddhours.md +74 -0
- package/docs/services/expression-parser-functions/dateaddmilliseconds.md +65 -0
- package/docs/services/expression-parser-functions/dateaddminutes.md +72 -0
- package/docs/services/expression-parser-functions/dateaddmonths.md +74 -0
- package/docs/services/expression-parser-functions/dateaddseconds.md +66 -0
- package/docs/services/expression-parser-functions/dateaddweeks.md +73 -0
- package/docs/services/expression-parser-functions/dateaddyears.md +74 -0
- package/docs/services/expression-parser-functions/datedaydifference.md +84 -0
- package/docs/services/expression-parser-functions/datefromparts.md +81 -0
- package/docs/services/expression-parser-functions/datehourdifference.md +64 -0
- package/docs/services/expression-parser-functions/datemathadd.md +72 -0
- package/docs/services/expression-parser-functions/datemilliseconddifference.md +64 -0
- package/docs/services/expression-parser-functions/dateminutedifference.md +64 -0
- package/docs/services/expression-parser-functions/datemonthdifference.md +66 -0
- package/docs/services/expression-parser-functions/dateseconddifference.md +64 -0
- package/docs/services/expression-parser-functions/dateweekdifference.md +65 -0
- package/docs/services/expression-parser-functions/dateyeardifference.md +64 -0
- package/docs/services/expression-parser-functions/distributionhistogram.md +96 -0
- package/docs/services/expression-parser-functions/distributionhistogrambyobject.md +64 -0
- package/docs/services/expression-parser-functions/entryinset.md +72 -0
- package/docs/services/expression-parser-functions/euler.md +77 -0
- package/docs/services/expression-parser-functions/exp.md +74 -0
- package/docs/services/expression-parser-functions/findfirstvaluebyexactmatch.md +67 -0
- package/docs/services/expression-parser-functions/findfirstvaluebystringincludes.md +67 -0
- package/docs/services/expression-parser-functions/flatten.md +76 -0
- package/docs/services/expression-parser-functions/floor.md +70 -0
- package/docs/services/expression-parser-functions/gaussianelimination.md +75 -0
- package/docs/services/expression-parser-functions/generatearrayofobjectsfromsets.md +70 -0
- package/docs/services/expression-parser-functions/getvalue.md +90 -0
- package/docs/services/expression-parser-functions/getvaluearray.md +64 -0
- package/docs/services/expression-parser-functions/getvalueobject.md +67 -0
- package/docs/services/expression-parser-functions/if.md +109 -0
- package/docs/services/expression-parser-functions/iterativeseries.md +107 -0
- package/docs/services/expression-parser-functions/join.md +75 -0
- package/docs/services/expression-parser-functions/joinraw.md +64 -0
- package/docs/services/expression-parser-functions/largestinset.md +63 -0
- package/docs/services/expression-parser-functions/leastsquares.md +66 -0
- package/docs/services/expression-parser-functions/linest.md +58 -0
- package/docs/services/expression-parser-functions/log.md +74 -0
- package/docs/services/expression-parser-functions/match.md +71 -0
- package/docs/services/expression-parser-functions/matrixinverse.md +67 -0
- package/docs/services/expression-parser-functions/matrixmultiply.md +71 -0
- package/docs/services/expression-parser-functions/matrixtranspose.md +72 -0
- package/docs/services/expression-parser-functions/matrixvectormultiply.md +69 -0
- package/docs/services/expression-parser-functions/max.md +73 -0
- package/docs/services/expression-parser-functions/mean.md +63 -0
- package/docs/services/expression-parser-functions/median.md +79 -0
- package/docs/services/expression-parser-functions/min.md +73 -0
- package/docs/services/expression-parser-functions/mode.md +66 -0
- package/docs/services/expression-parser-functions/objectkeystoarray.md +66 -0
- package/docs/services/expression-parser-functions/objectvaluessortbyexternalobjectarray.md +65 -0
- package/docs/services/expression-parser-functions/objectvaluestoarray.md +67 -0
- package/docs/services/expression-parser-functions/percent.md +75 -0
- package/docs/services/expression-parser-functions/pi.md +77 -0
- package/docs/services/expression-parser-functions/polynomialregression.md +69 -0
- package/docs/services/expression-parser-functions/predict.md +71 -0
- package/docs/services/expression-parser-functions/rad.md +85 -0
- package/docs/services/expression-parser-functions/randomfloat.md +63 -0
- package/docs/services/expression-parser-functions/randomfloatbetween.md +72 -0
- package/docs/services/expression-parser-functions/randomfloatupto.md +65 -0
- package/docs/services/expression-parser-functions/randominteger.md +56 -0
- package/docs/services/expression-parser-functions/randomintegerbetween.md +72 -0
- package/docs/services/expression-parser-functions/randomintegerupto.md +64 -0
- package/docs/services/expression-parser-functions/resolvehtmlentities.md +64 -0
- package/docs/services/expression-parser-functions/round.md +111 -0
- package/docs/services/expression-parser-functions/setconcatenate.md +64 -0
- package/docs/services/expression-parser-functions/sin.md +83 -0
- package/docs/services/expression-parser-functions/slice.md +80 -0
- package/docs/services/expression-parser-functions/smallestinset.md +63 -0
- package/docs/services/expression-parser-functions/sorthistogram.md +70 -0
- package/docs/services/expression-parser-functions/sorthistogrambykeys.md +69 -0
- package/docs/services/expression-parser-functions/sortset.md +75 -0
- package/docs/services/expression-parser-functions/sqrt.md +85 -0
- package/docs/services/expression-parser-functions/stdev.md +81 -0
- package/docs/services/expression-parser-functions/stdeva.md +58 -0
- package/docs/services/expression-parser-functions/stdevp.md +83 -0
- package/docs/services/expression-parser-functions/stringcountsegments.md +66 -0
- package/docs/services/expression-parser-functions/stringgetsegments.md +74 -0
- package/docs/services/expression-parser-functions/subtractingsummation.md +66 -0
- package/docs/services/expression-parser-functions/sum.md +78 -0
- package/docs/services/expression-parser-functions/tan.md +78 -0
- package/docs/services/expression-parser-functions/tofixed.md +75 -0
- package/docs/services/expression-parser-functions/var.md +67 -0
- package/docs/services/expression-parser-functions/vara.md +58 -0
- package/docs/services/expression-parser-functions/varp.md +66 -0
- package/docs/services/expression-parser-functions/when.md +98 -0
- package/docs/services/expression-parser.md +314 -0
- package/docs/services/file-persistence.md +279 -0
- package/docs/services/logging.md +237 -0
- package/docs/services/logic.md +166 -0
- package/docs/services/manifest.md +256 -0
- package/docs/services/math.md +279 -0
- package/docs/services/meta-template.md +268 -0
- package/docs/services/object-cache.md +171 -0
- package/docs/services/operation.md +207 -0
- package/docs/services/progress-time.md +167 -0
- package/docs/services/progress-tracker-set.md +222 -0
- package/docs/services/rest-client.md +296 -0
- package/docs/services/settings-manager.md +265 -0
- package/docs/services/template.md +233 -0
- package/docs/services/utility.md +304 -0
- package/docs/services/uuid.md +162 -0
- package/package.json +1 -1
- package/source/services/Fable-Service-DataFormat.js +1 -0
- package/source/services/Fable-Service-ExpressionParser/Fable-Service-ExpressionParser-FunctionMap.json +24 -0
- package/source/services/Fable-Service-ExpressionParser/Fable-Service-ExpressionParser-ValueMarshal.js +6 -4
- package/source/services/Fable-Service-Math.js +65 -3
- package/test/ExpressionParser_tests.js +5 -0
- package/test/Math_test.js +29 -0
package/README.md
CHANGED
|
@@ -1,7 +1,29 @@
|
|
|
1
|
-
Fable
|
|
1
|
+
Fable
|
|
2
2
|
=====
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
A comprehensive Node.js service dependency injection, configuration management, and logging library. Fable provides a service-oriented architecture with built-in dependency injection, making it easy to build modular, testable applications.
|
|
5
|
+
|
|
6
|
+
## Features
|
|
7
|
+
|
|
8
|
+
- **Service Provider Architecture** - IoC container with dependency injection
|
|
9
|
+
- **Configuration Management** - Centralized settings with environment support
|
|
10
|
+
- **Logging** - Flexible logging with multiple stream support
|
|
11
|
+
- **UUID Generation** - Distributed unique identifier generation
|
|
12
|
+
- **Math Operations** - Arbitrary precision math using big.js
|
|
13
|
+
- **Date Manipulation** - Comprehensive date operations using day.js
|
|
14
|
+
- **Expression Parser** - Evaluate mathematical and logical expressions
|
|
15
|
+
- **REST Client** - HTTP request handling with caching
|
|
16
|
+
- **Template Engine** - Variable substitution and rendering
|
|
17
|
+
- **And much more...**
|
|
18
|
+
|
|
19
|
+
## Documentation
|
|
20
|
+
|
|
21
|
+
Comprehensive documentation is available in the [docs](./docs) folder:
|
|
22
|
+
|
|
23
|
+
- [Overview](./docs/README.md) - Introduction and getting started
|
|
24
|
+
- [Architecture](./docs/architecture.md) - System design and patterns
|
|
25
|
+
- [Services Reference](./docs/services/README.md) - All available services
|
|
26
|
+
- [ExpressionParser Functions](./docs/services/expression-parser-functions/README.md) - 90+ built-in functions
|
|
5
27
|
|
|
6
28
|
## Install
|
|
7
29
|
|
|
@@ -293,3 +315,66 @@ var uuid = fable.getUUID();
|
|
|
293
315
|
|
|
294
316
|
// The uuid variable now contains a unique string.
|
|
295
317
|
```
|
|
318
|
+
|
|
319
|
+
---------------------------------------
|
|
320
|
+
|
|
321
|
+
## Available Services
|
|
322
|
+
|
|
323
|
+
Fable provides a rich set of services organized into three categories:
|
|
324
|
+
|
|
325
|
+
### Pre-initialized Services
|
|
326
|
+
|
|
327
|
+
Available immediately on any Fable instance:
|
|
328
|
+
|
|
329
|
+
- **SettingsManager** - Configuration and settings management
|
|
330
|
+
- **UUID** - Unique identifier generation
|
|
331
|
+
- **Logging** - Flexible logging with multiple outputs
|
|
332
|
+
|
|
333
|
+
### Auto-instantiated Services
|
|
334
|
+
|
|
335
|
+
Created automatically on first access:
|
|
336
|
+
|
|
337
|
+
- **Dates** - Date manipulation and formatting (day.js)
|
|
338
|
+
- **Math** - Arbitrary precision arithmetic (big.js)
|
|
339
|
+
- **Utility** - Common utility functions
|
|
340
|
+
- **DataFormat** - Data transformation helpers
|
|
341
|
+
- **Logic** - Conditional and comparison operations
|
|
342
|
+
- **ProgressTime** - Time-based progress tracking
|
|
343
|
+
- **EnvironmentData** - Environment variable access
|
|
344
|
+
- **DataGeneration** - Random data generation
|
|
345
|
+
|
|
346
|
+
### On-demand Services
|
|
347
|
+
|
|
348
|
+
Instantiated when needed via `fable.instantiateServiceProvider()`:
|
|
349
|
+
|
|
350
|
+
- **Template** - Variable substitution engine
|
|
351
|
+
- **MetaTemplate** - Advanced templating with iterations
|
|
352
|
+
- **RestClient** - HTTP requests with caching
|
|
353
|
+
- **ExpressionParser** - Mathematical expression evaluation
|
|
354
|
+
- **Operation** - Async operation management
|
|
355
|
+
- **CSVParser** - CSV file parsing
|
|
356
|
+
- **FilePersistence** - File system operations
|
|
357
|
+
- **Manifest** - Application manifest handling
|
|
358
|
+
- **ObjectCache** - In-memory object caching
|
|
359
|
+
- **Anticipate** - Promise and callback helpers
|
|
360
|
+
|
|
361
|
+
### Using Services
|
|
362
|
+
|
|
363
|
+
```js
|
|
364
|
+
const libFable = require('fable');
|
|
365
|
+
const fable = new libFable();
|
|
366
|
+
|
|
367
|
+
// Auto-instantiated services - just access them
|
|
368
|
+
const today = fable.Dates.dayJS();
|
|
369
|
+
const sum = fable.Math.addPrecise('10.5', '20.3');
|
|
370
|
+
|
|
371
|
+
// On-demand services - instantiate when needed
|
|
372
|
+
const template = fable.instantiateServiceProvider('Template');
|
|
373
|
+
const result = template.render('Hello ${Name}!', { Name: 'World' });
|
|
374
|
+
|
|
375
|
+
// ExpressionParser for complex calculations
|
|
376
|
+
const parser = fable.instantiateServiceProvider('ExpressionParser');
|
|
377
|
+
const value = parser.solve('SUM(1, 2, 3, 4, 5)', {});
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
See the [Services Documentation](./docs/services/README.md) for detailed information on each service.
|