@shwfed/nuxt 0.1.5 → 0.1.7

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/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@shwfed/nuxt",
3
3
  "configKey": "shwfed",
4
- "version": "0.1.5",
4
+ "version": "0.1.7",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.2",
7
7
  "unbuild": "unknown"
package/dist/module.mjs CHANGED
@@ -9,7 +9,7 @@ const module$1 = defineNuxtModule({
9
9
  defaults: {},
10
10
  setup(_options, _nuxt) {
11
11
  const resolver = createResolver(import.meta.url);
12
- addPlugin(resolver.resolve("./runtime/plugins/cel"));
12
+ addPlugin(resolver.resolve("./runtime/plugins/cel/index"));
13
13
  }
14
14
  });
15
15
 
@@ -0,0 +1,2 @@
1
+ import { Environment } from '@marcbachmann/cel-js';
2
+ export declare function createEnvironment(): Environment;
@@ -0,0 +1,82 @@
1
+ import { Environment, EvaluationError } from "@marcbachmann/cel-js";
2
+ import { startOfDay, startOfWeek, startOfYear, startOfMonth, endOfDay, endOfWeek, endOfYear, endOfMonth, addYears, addMonths, addDays, addWeeks, setDate, setMonth, setYear, formatDate, isBefore, isAfter, isEqual } from "date-fns";
3
+ import { TZDate } from "@date-fns/tz";
4
+ export function createEnvironment() {
5
+ const env = new Environment({
6
+ enableOptionalTypes: true,
7
+ homogeneousAggregateLiterals: false,
8
+ unlistedVariablesAreDyn: true
9
+ });
10
+ env.registerType("Date", TZDate).registerVariable("now", "Date").registerFunction("date(string): Date", (date) => {
11
+ return new TZDate(date);
12
+ }).registerOperator("Date < Date", (date1, date2) => {
13
+ return isBefore(date1, date2);
14
+ }).registerOperator("Date <= Date", (date1, date2) => {
15
+ return isBefore(date1, date2) || isEqual(date1, date2);
16
+ }).registerOperator("Date > Date", (date1, date2) => {
17
+ return isAfter(date1, date2);
18
+ }).registerOperator("Date >= Date", (date1, date2) => {
19
+ return isAfter(date1, date2) || isEqual(date1, date2);
20
+ }).registerOperator("Date == Date", (date1, date2) => {
21
+ return isEqual(date1, date2);
22
+ }).registerFunction("Date.startOf(string): Date", (date, unit) => {
23
+ switch (unit) {
24
+ case "day":
25
+ return startOfDay(date);
26
+ case "week":
27
+ return startOfWeek(date);
28
+ case "month":
29
+ return startOfMonth(date);
30
+ case "year":
31
+ return startOfYear(date);
32
+ default:
33
+ return new EvaluationError(`Invalid unit: ${unit}`);
34
+ }
35
+ }).registerFunction("Date.endOf(string): Date", (date, unit) => {
36
+ switch (unit) {
37
+ case "day":
38
+ return endOfDay(date);
39
+ case "week":
40
+ return endOfWeek(date);
41
+ case "month":
42
+ return endOfMonth(date);
43
+ case "year":
44
+ return endOfYear(date);
45
+ default:
46
+ return new EvaluationError(`Invalid unit: ${unit}`);
47
+ }
48
+ }).registerFunction("Date.offset(int, string): Date", (date, amount, unit) => {
49
+ const n = Number(amount);
50
+ switch (unit) {
51
+ case "day":
52
+ case "days":
53
+ return addDays(date, n);
54
+ case "week":
55
+ case "weeks":
56
+ return addWeeks(date, n);
57
+ case "month":
58
+ case "months":
59
+ return addMonths(date, n);
60
+ case "year":
61
+ case "years":
62
+ return addYears(date, n);
63
+ default:
64
+ return new EvaluationError(`Invalid unit: ${unit}`);
65
+ }
66
+ }).registerFunction("Date.set(string, int): Date", (date, unit, value) => {
67
+ const n = Number(value);
68
+ switch (unit) {
69
+ case "day":
70
+ return setDate(date, n);
71
+ case "month":
72
+ return setMonth(date, n - 1);
73
+ case "year":
74
+ return setYear(date, n);
75
+ default:
76
+ return new EvaluationError(`Invalid unit: ${unit}`);
77
+ }
78
+ }).registerFunction("Date.format(string): string", (date, format) => {
79
+ return formatDate(date, format);
80
+ });
81
+ return env;
82
+ }
@@ -1,7 +1,7 @@
1
1
  import { TypeError, EvaluationError } from "@marcbachmann/cel-js";
2
2
  import defu from "defu";
3
3
  import { Effect, Either } from "effect";
4
- import { createEnvironment } from "~/utils/cel";
4
+ import { createEnvironment } from "./env.js";
5
5
  export default defineNuxtPlugin(() => {
6
6
  const env = createEnvironment();
7
7
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shwfed/nuxt",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "type": "module",