@rkmodules/rules 0.0.122 → 0.0.124

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/dist/index.esm.js CHANGED
@@ -249,8 +249,6 @@ function isEmptyTree(value) {
249
249
  * use isEmptyTree to check if there are no groups at all
250
250
  */
251
251
  function isEmpty(value) {
252
- if (!isTree(value))
253
- return false;
254
252
  if (isEmptyTree(value))
255
253
  return true;
256
254
  return getBranches(value).every(function (branch) { return branch.length === 0; });
@@ -2433,6 +2431,173 @@ var primitives$1 = (_a$1 = {},
2433
2431
  _a$1[explodeObject.name] = explodeObject,
2434
2432
  _a$1);
2435
2433
 
2434
+ var INFERRED = "inferred";
2435
+ var ary$1 = __spreadArray([INFERRED], __read(Intl.supportedValuesOf("timeZone")), false);
2436
+ var parseDate = {
2437
+ name: "parseDate",
2438
+ label: "Parse",
2439
+ description: "Parses a date string",
2440
+ inputs: {
2441
+ datestring: { type: "string", default: "" },
2442
+ },
2443
+ params: {
2444
+ timezone: {
2445
+ type: "choice",
2446
+ default: INFERRED,
2447
+ options: ary$1,
2448
+ },
2449
+ },
2450
+ outputs: {
2451
+ date: "Date",
2452
+ },
2453
+ impl: function (inputs, params, engine) { return __awaiter(void 0, void 0, void 0, function () {
2454
+ return __generator(this, function (_a) {
2455
+ return [2 /*return*/, {
2456
+ date: mapTree(inputs.datestring || {}, function (dateStr) {
2457
+ var parsedDate = new Date(dateStr);
2458
+ if (params.timezone !== INFERRED) {
2459
+ parsedDate = new Date(parsedDate.toLocaleString("en-US", {
2460
+ timeZone: params.timezone,
2461
+ }));
2462
+ }
2463
+ var stamp = parsedDate.getTime();
2464
+ return isNaN(stamp) ? null : stamp;
2465
+ }),
2466
+ }];
2467
+ });
2468
+ }); },
2469
+ };
2470
+
2471
+ var ary = Intl.supportedValuesOf("timeZone");
2472
+ var formatDate = {
2473
+ name: "formatDate",
2474
+ label: "Format",
2475
+ description: "Formats a date",
2476
+ inputs: {
2477
+ date: { type: "Date", default: "" },
2478
+ },
2479
+ params: {
2480
+ locale: { type: "string", default: "en-US", label: "locale" },
2481
+ dateStyle: {
2482
+ type: "string",
2483
+ options: ["full", "long", "medium", "short", "none"],
2484
+ default: "medium",
2485
+ label: "date style",
2486
+ },
2487
+ timeStyle: {
2488
+ type: "string",
2489
+ options: ["full", "long", "medium", "short", "none"],
2490
+ default: "short",
2491
+ label: "time style",
2492
+ },
2493
+ timezone: {
2494
+ type: "choice",
2495
+ default: function () {
2496
+ return Intl.DateTimeFormat().resolvedOptions().timeZone;
2497
+ },
2498
+ options: ary,
2499
+ },
2500
+ hour12: {
2501
+ type: "boolean",
2502
+ default: false,
2503
+ label: "12 hour time",
2504
+ },
2505
+ },
2506
+ outputs: {
2507
+ string: "string",
2508
+ },
2509
+ impl: function (inputs, params, engine) { return __awaiter(void 0, void 0, void 0, function () {
2510
+ return __generator(this, function (_a) {
2511
+ return [2 /*return*/, {
2512
+ string: mapTree(inputs.date || {}, function (dateInput) {
2513
+ var parsedDate = new Date(dateInput);
2514
+ if (isNaN(parsedDate.getTime())) {
2515
+ return "invalid date";
2516
+ }
2517
+ var dateStyle = params.dateStyle === "none" ? undefined : params.dateStyle;
2518
+ var timeStyle = params.timeStyle === "none" ? undefined : params.timeStyle;
2519
+ var str = new Intl.DateTimeFormat(params.locale, {
2520
+ dateStyle: dateStyle,
2521
+ timeStyle: timeStyle,
2522
+ hour12: params.hour12,
2523
+ timeZone: params.timezone,
2524
+ }).format(parsedDate);
2525
+ return str;
2526
+ }),
2527
+ }];
2528
+ });
2529
+ }); },
2530
+ };
2531
+
2532
+ var duration = {
2533
+ name: "duration",
2534
+ label: "Duration",
2535
+ description: "Creates a duration",
2536
+ inputs: {
2537
+ days: { type: "number", default: 0 },
2538
+ hours: { type: "number", default: 0 },
2539
+ minutes: { type: "number", default: 0 },
2540
+ seconds: { type: "number", default: 0 },
2541
+ milliseconds: { type: "number", default: 0 },
2542
+ },
2543
+ outputs: {
2544
+ duration: "number",
2545
+ },
2546
+ impl: function (inputs, params, engine) { return __awaiter(void 0, void 0, void 0, function () {
2547
+ return __generator(this, function (_a) {
2548
+ return [2 /*return*/, {
2549
+ duration: nAryOnTree([
2550
+ inputs.days || {},
2551
+ inputs.hours || {},
2552
+ inputs.minutes || {},
2553
+ inputs.seconds || {},
2554
+ inputs.milliseconds || {},
2555
+ ], function (_a) {
2556
+ var _b = __read(_a, 5), _c = _b[0], days = _c === void 0 ? 0 : _c, _d = _b[1], hours = _d === void 0 ? 0 : _d, _e = _b[2], minutes = _e === void 0 ? 0 : _e, _f = _b[3], seconds = _f === void 0 ? 0 : _f, _g = _b[4], milliseconds = _g === void 0 ? 0 : _g;
2557
+ var totalMilliseconds = days * 24 * 60 * 60 * 1000 +
2558
+ hours * 60 * 60 * 1000 +
2559
+ minutes * 60 * 1000 +
2560
+ seconds * 1000 +
2561
+ milliseconds;
2562
+ return totalMilliseconds;
2563
+ }, true),
2564
+ }];
2565
+ });
2566
+ }); },
2567
+ };
2568
+
2569
+ var isoDate = {
2570
+ name: "isoDate",
2571
+ label: "To ISO",
2572
+ description: "ISO 8601 format of a date",
2573
+ inputs: {
2574
+ date: { type: "Date", default: "" },
2575
+ },
2576
+ outputs: {
2577
+ string: "string",
2578
+ },
2579
+ impl: function (inputs, params, engine) { return __awaiter(void 0, void 0, void 0, function () {
2580
+ return __generator(this, function (_a) {
2581
+ return [2 /*return*/, {
2582
+ string: mapTree(inputs.date || {}, function (dateInput) {
2583
+ var parsedDate = new Date(dateInput);
2584
+ if (isNaN(parsedDate.getTime())) {
2585
+ return "invalid date";
2586
+ }
2587
+ return parsedDate.toISOString();
2588
+ }),
2589
+ }];
2590
+ });
2591
+ }); },
2592
+ };
2593
+
2594
+ var functions = {
2595
+ parseDate: parseDate,
2596
+ formatDate: formatDate,
2597
+ isoDate: isoDate,
2598
+ duration: duration,
2599
+ };
2600
+
2436
2601
  var Lib = {
2437
2602
  Util: primitives$9,
2438
2603
  Math: primitives$8,
@@ -2443,8 +2608,9 @@ var Lib = {
2443
2608
  Logic: primitives$3,
2444
2609
  IO: primitives$2,
2445
2610
  Json: primitives$1,
2611
+ Date: functions,
2446
2612
  };
2447
- var primitives = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, primitives$2), primitives$9), primitives$8), primitives$7), primitives$6), primitives$5), primitives$4), primitives$3), primitives$1);
2613
+ var primitives = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, primitives$2), primitives$9), primitives$8), primitives$7), primitives$6), primitives$5), primitives$4), primitives$3), primitives$1), functions);
2448
2614
 
2449
2615
  function isPrimitive(node) {
2450
2616
  return node.impl !== undefined;