@rkmodules/rules 0.0.123 → 0.0.125

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