@effect/platform 0.58.4 → 0.58.6

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.
@@ -64,6 +64,11 @@ export const makeRoute = internal.makeRoute;
64
64
  * @category combinators
65
65
  */
66
66
  export const prefixAll = internal.prefixAll;
67
+ /**
68
+ * @since 1.0.0
69
+ * @category combinators
70
+ */
71
+ export const append = internal.append;
67
72
  /**
68
73
  * @since 1.0.0
69
74
  * @category combinators
@@ -159,4 +164,9 @@ export const provideService = internal.provideService;
159
164
  * @category combinators
160
165
  */
161
166
  export const provideServiceEffect = internal.provideServiceEffect;
167
+ /**
168
+ * @since 1.0.0
169
+ * @category tags
170
+ */
171
+ export const Tag = internal.Tag;
162
172
  //# sourceMappingURL=HttpRouter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpRouter.js","names":["internal","TypeId","RouteTypeId","RouteContextTypeId","RouteContext","params","schemaJson","schemaNoBody","schemaParams","schemaPathParams","empty","fromIterable","makeRoute","prefixAll","concat","mount","mountApp","route","all","get","post","patch","put","del","head","options","use","catchAll","catchAllCause","catchTag","catchTags","provideService","provideServiceEffect"],"sources":["../../src/HttpRouter.ts"],"sourcesContent":[null],"mappings":"AAiBA,OAAO,KAAKA,QAAQ,MAAM,0BAA0B;AAEpD;;;;AAIA,OAAO,MAAMC,MAAM,GAAkBD,QAAQ,CAACC,MAAM;AAuCpD;;;;AAIA,OAAO,MAAMC,WAAW,GAAkBF,QAAQ,CAACE,WAAW;AAqC9D;;;;AAIA,OAAO,MAAMC,kBAAkB,GAAkBH,QAAQ,CAACG,kBAAkB;AAkB5E;;;;AAIA,OAAO,MAAMC,YAAY,GAA4CJ,QAAQ,CAACI,YAAY;AAE1F;;;;AAIA,OAAO,MAAMC,MAAM,GAIfL,QAAQ,CAACK,MAAM;AAEnB;;;;AAIA,OAAO,MAAMC,UAAU,GAmBnBN,QAAQ,CAACM,UAAU;AAEvB;;;;AAIA,OAAO,MAAMC,YAAY,GAoBrBP,QAAQ,CAACO,YAAY;AAEzB;;;;AAIA,OAAO,MAAMC,YAAY,GAIvBR,QAAQ,CAACQ,YAAY;AAEvB;;;;AAIA,OAAO,MAAMC,gBAAgB,GAGqCT,QAAQ,CAACS,gBAAgB;AAE3F;;;;AAIA,OAAO,MAAMC,KAAK,GAAeV,QAAQ,CAACU,KAAK;AAE/C;;;;AAIA,OAAO,MAAMC,YAAY,GAGvBX,QAAQ,CAACW,YAAY;AAEvB;;;;AAIA,OAAO,MAAMC,SAAS,GAMyBZ,QAAQ,CAACY,SAAS;AAEjE;;;;AAIA,OAAO,MAAMC,SAAS,GAGlBb,QAAQ,CAACa,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,MAAM,GAQfd,QAAQ,CAACc,MAAM;AAEnB;;;;AAIA,OAAO,MAAMC,KAAK,GAGdf,QAAQ,CAACe,KAAK;AAElB;;;;AAIA,OAAO,MAAMC,QAAQ,GAsBjBhB,QAAQ,CAACgB,QAAQ;AAErB;;;;AAIA,OAAO,MAAMC,KAAK,GAgBdjB,QAAQ,CAACiB,KAAK;AAElB;;;;AAIA,OAAO,MAAMC,GAAG,GAoBZlB,QAAQ,CAACkB,GAAG;AAEhB;;;;AAIA,OAAO,MAAMC,GAAG,GAcZnB,QAAQ,CAACmB,GAAG;AAEhB;;;;AAIA,OAAO,MAAMC,IAAI,GAcbpB,QAAQ,CAACoB,IAAI;AAEjB;;;;AAIA,OAAO,MAAMC,KAAK,GAcdrB,QAAQ,CAACqB,KAAK;AAElB;;;;AAIA,OAAO,MAAMC,GAAG,GAcZtB,QAAQ,CAACsB,GAAG;AAEhB;;;;AAIA,OAAO,MAAMC,GAAG,GAcZvB,QAAQ,CAACuB,GAAG;AAEhB;;;;AAIA,OAAO,MAAMC,IAAI,GAcbxB,QAAQ,CAACwB,IAAI;AAEjB;;;;AAIA,OAAO,MAAMC,OAAO,GAchBzB,QAAQ,CAACyB,OAAO;AAEpB;;;;AAIA,OAAO,MAAMC,GAAG,GAQZ1B,QAAQ,CAAC0B,GAAG;AAEhB;;;;AAIA,OAAO,MAAMC,QAAQ,GAQjB3B,QAAQ,CAAC2B,QAAQ;AAErB;;;;AAIA,OAAO,MAAMC,aAAa,GAQtB5B,QAAQ,CAAC4B,aAAa;AAE1B;;;;AAIA,OAAO,MAAMC,QAAQ,GAYjB7B,QAAQ,CAAC6B,QAAQ;AAErB;;;;AAIA,OAAO,MAAMC,SAAS,GA2ClB9B,QAAQ,CAAC8B,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,cAAc,GAUvB/B,QAAQ,CAAC+B,cAAc;AAE3B;;;;AAIA,OAAO,MAAMC,oBAAoB,GAoB7BhC,QAAQ,CAACgC,oBAAoB","ignoreList":[]}
1
+ {"version":3,"file":"HttpRouter.js","names":["internal","TypeId","RouteTypeId","RouteContextTypeId","RouteContext","params","schemaJson","schemaNoBody","schemaParams","schemaPathParams","empty","fromIterable","makeRoute","prefixAll","append","concat","mount","mountApp","route","all","get","post","patch","put","del","head","options","use","catchAll","catchAllCause","catchTag","catchTags","provideService","provideServiceEffect","Tag"],"sources":["../../src/HttpRouter.ts"],"sourcesContent":[null],"mappings":"AAkBA,OAAO,KAAKA,QAAQ,MAAM,0BAA0B;AAEpD;;;;AAIA,OAAO,MAAMC,MAAM,GAAkBD,QAAQ,CAACC,MAAM;AAwGpD;;;;AAIA,OAAO,MAAMC,WAAW,GAAkBF,QAAQ,CAACE,WAAW;AAqC9D;;;;AAIA,OAAO,MAAMC,kBAAkB,GAAkBH,QAAQ,CAACG,kBAAkB;AAkB5E;;;;AAIA,OAAO,MAAMC,YAAY,GAA4CJ,QAAQ,CAACI,YAAY;AAE1F;;;;AAIA,OAAO,MAAMC,MAAM,GAIfL,QAAQ,CAACK,MAAM;AAEnB;;;;AAIA,OAAO,MAAMC,UAAU,GAmBnBN,QAAQ,CAACM,UAAU;AAEvB;;;;AAIA,OAAO,MAAMC,YAAY,GAoBrBP,QAAQ,CAACO,YAAY;AAEzB;;;;AAIA,OAAO,MAAMC,YAAY,GAIvBR,QAAQ,CAACQ,YAAY;AAEvB;;;;AAIA,OAAO,MAAMC,gBAAgB,GAGqCT,QAAQ,CAACS,gBAAgB;AAE3F;;;;AAIA,OAAO,MAAMC,KAAK,GAAeV,QAAQ,CAACU,KAAK;AAE/C;;;;AAIA,OAAO,MAAMC,YAAY,GAGvBX,QAAQ,CAACW,YAAY;AAEvB;;;;AAIA,OAAO,MAAMC,SAAS,GAKyBZ,QAAQ,CAACY,SAAS;AAEjE;;;;AAIA,OAAO,MAAMC,SAAS,GAGlBb,QAAQ,CAACa,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,MAAM,GAgBfd,QAAQ,CAACc,MAAM;AAEnB;;;;AAIA,OAAO,MAAMC,MAAM,GAQff,QAAQ,CAACe,MAAM;AAEnB;;;;AAIA,OAAO,MAAMC,KAAK,GAGdhB,QAAQ,CAACgB,KAAK;AAElB;;;;AAIA,OAAO,MAAMC,QAAQ,GAsBjBjB,QAAQ,CAACiB,QAAQ;AAErB;;;;AAIA,OAAO,MAAMC,KAAK,GAgBdlB,QAAQ,CAACkB,KAAK;AAElB;;;;AAIA,OAAO,MAAMC,GAAG,GAoBZnB,QAAQ,CAACmB,GAAG;AAEhB;;;;AAIA,OAAO,MAAMC,GAAG,GAcZpB,QAAQ,CAACoB,GAAG;AAEhB;;;;AAIA,OAAO,MAAMC,IAAI,GAcbrB,QAAQ,CAACqB,IAAI;AAEjB;;;;AAIA,OAAO,MAAMC,KAAK,GAcdtB,QAAQ,CAACsB,KAAK;AAElB;;;;AAIA,OAAO,MAAMC,GAAG,GAcZvB,QAAQ,CAACuB,GAAG;AAEhB;;;;AAIA,OAAO,MAAMC,GAAG,GAcZxB,QAAQ,CAACwB,GAAG;AAEhB;;;;AAIA,OAAO,MAAMC,IAAI,GAcbzB,QAAQ,CAACyB,IAAI;AAEjB;;;;AAIA,OAAO,MAAMC,OAAO,GAchB1B,QAAQ,CAAC0B,OAAO;AAEpB;;;;AAIA,OAAO,MAAMC,GAAG,GAQZ3B,QAAQ,CAAC2B,GAAG;AAEhB;;;;AAIA,OAAO,MAAMC,QAAQ,GAQjB5B,QAAQ,CAAC4B,QAAQ;AAErB;;;;AAIA,OAAO,MAAMC,aAAa,GAQtB7B,QAAQ,CAAC6B,aAAa;AAE1B;;;;AAIA,OAAO,MAAMC,QAAQ,GAYjB9B,QAAQ,CAAC8B,QAAQ;AAErB;;;;AAIA,OAAO,MAAMC,SAAS,GA2ClB/B,QAAQ,CAAC+B,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,cAAc,GAUvBhC,QAAQ,CAACgC,cAAc;AAE3B;;;;AAIA,OAAO,MAAMC,oBAAoB,GAoB7BjC,QAAQ,CAACiC,oBAAoB;AAEjC;;;;AAIA,OAAO,MAAMC,GAAG,GAE+DlC,QAAQ,CAACkC,GAAG","ignoreList":[]}
@@ -9,16 +9,16 @@ import * as Option from "effect/Option";
9
9
  */
10
10
  export const fromInput = input => {
11
11
  if (Symbol.iterator in input) {
12
- return Arr.fromIterable(input);
12
+ return Arr.fromIterable(input).map(([key, value]) => [key, String(value)]);
13
13
  }
14
14
  const out = [];
15
15
  for (const [key, value] of Object.entries(input)) {
16
16
  if (Array.isArray(value)) {
17
17
  for (let i = 0; i < value.length; i++) {
18
- out.push([key, value[i]]);
18
+ out.push([key, String(value[i])]);
19
19
  }
20
20
  } else {
21
- out.push([key, value]);
21
+ out.push([key, String(value)]);
22
22
  }
23
23
  }
24
24
  return out;
@@ -59,7 +59,7 @@ export const getLast = /*#__PURE__*/dual(2, (self, key) => Option.map(Arr.findLa
59
59
  * @since 1.0.0
60
60
  * @category combinators
61
61
  */
62
- export const set = /*#__PURE__*/dual(3, (self, key, value) => Arr.append(Arr.filter(self, ([k]) => k !== key), [key, value]));
62
+ export const set = /*#__PURE__*/dual(3, (self, key, value) => Arr.append(Arr.filter(self, ([k]) => k !== key), [key, String(value)]));
63
63
  /**
64
64
  * @since 1.0.0
65
65
  * @category combinators
@@ -73,7 +73,7 @@ export const setAll = /*#__PURE__*/dual(2, (self, input) => {
73
73
  * @since 1.0.0
74
74
  * @category combinators
75
75
  */
76
- export const append = /*#__PURE__*/dual(3, (self, key, value) => Arr.append(self, [key, value]));
76
+ export const append = /*#__PURE__*/dual(3, (self, key, value) => Arr.append(self, [key, String(value)]));
77
77
  /**
78
78
  * @since 1.0.0
79
79
  * @category combinators
@@ -1 +1 @@
1
- {"version":3,"file":"UrlParams.js","names":["Schema","Arr","Either","dual","Option","fromInput","input","Symbol","iterator","fromIterable","out","key","value","Object","entries","Array","isArray","i","length","push","schema","Tuple","String","annotations","identifier","empty","getAll","self","reduce","acc","k","getFirst","map","findFirst","getLast","findLast","set","append","filter","setAll","toSet","keys","appendAll","includes","remove","toString","URLSearchParams","makeUrl","url","params","hash","urlInstance","URL","baseUrl","undefined","searchParams","_tag","right","e","left","globalThis","location","origin","pathname","schemaJson","options","parse","decodeUnknown","parseJson","field","getOrElse"],"sources":["../../src/UrlParams.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"UrlParams.js","names":["Schema","Arr","Either","dual","Option","fromInput","input","Symbol","iterator","fromIterable","map","key","value","String","out","Object","entries","Array","isArray","i","length","push","schema","Tuple","annotations","identifier","empty","getAll","self","reduce","acc","k","getFirst","findFirst","getLast","findLast","set","append","filter","setAll","toSet","keys","appendAll","includes","remove","toString","URLSearchParams","makeUrl","url","params","hash","urlInstance","URL","baseUrl","undefined","searchParams","_tag","right","e","left","globalThis","location","origin","pathname","schemaJson","options","parse","decodeUnknown","parseJson","field","getOrElse"],"sources":["../../src/UrlParams.ts"],"sourcesContent":[null],"mappings":"AAKA,OAAO,KAAKA,MAAM,MAAM,uBAAuB;AAC/C,OAAO,KAAKC,GAAG,MAAM,cAAc;AAEnC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAuBvC;;;;AAIA,OAAO,MAAMC,SAAS,GAAIC,KAAY,IAAe;EACnD,IAAIC,MAAM,CAACC,QAAQ,IAAIF,KAAK,EAAE;IAC5B,OAAOL,GAAG,CAACQ,YAAY,CAACH,KAAK,CAAC,CAACI,GAAG,CAAC,CAAC,CAACC,GAAG,EAAEC,KAAK,CAAC,KAAK,CAACD,GAAG,EAAEE,MAAM,CAACD,KAAK,CAAC,CAAC,CAAC;EAC5E;EACA,MAAME,GAAG,GAAqC,EAAE;EAChD,KAAK,MAAM,CAACH,GAAG,EAAEC,KAAK,CAAC,IAAIG,MAAM,CAACC,OAAO,CAACV,KAAK,CAAC,EAAE;IAChD,IAAIW,KAAK,CAACC,OAAO,CAACN,KAAK,CAAC,EAAE;MACxB,KAAK,IAAIO,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGP,KAAK,CAACQ,MAAM,EAAED,CAAC,EAAE,EAAE;QACrCL,GAAG,CAACO,IAAI,CAAC,CAACV,GAAG,EAAEE,MAAM,CAACD,KAAK,CAACO,CAAC,CAAC,CAAC,CAAC,CAAC;MACnC;IACF,CAAC,MAAM;MACLL,GAAG,CAACO,IAAI,CAAC,CAACV,GAAG,EAAEE,MAAM,CAACD,KAAK,CAAC,CAAC,CAAC;IAChC;EACF;EACA,OAAOE,GAAG;AACZ,CAAC;AAED;;;;AAIA,OAAO,MAAMQ,MAAM,gBAAuEtB,MAAM,CAACiB,KAAK,CACpGjB,MAAM,CAACuB,KAAK,CAACvB,MAAM,CAACa,MAAM,EAAEb,MAAM,CAACa,MAAM,CAAC,CAC3C,CAACW,WAAW,CAAC;EAAEC,UAAU,EAAE;AAAW,CAAE,CAAC;AAE1C;;;;AAIA,OAAO,MAAMC,KAAK,GAAc,EAAE;AAElC;;;;AAIA,OAAO,MAAMC,MAAM,gBAGfxB,IAAI,CACN,CAAC,EACD,CAACyB,IAAe,EAAEjB,GAAW,KAC3BV,GAAG,CAAC4B,MAAM,CAACD,IAAI,EAAE,EAAmB,EAAE,CAACE,GAAG,EAAE,CAACC,CAAC,EAAEnB,KAAK,CAAC,KAAI;EACxD,IAAImB,CAAC,KAAKpB,GAAG,EAAE;IACbmB,GAAG,CAACT,IAAI,CAACT,KAAK,CAAC;EACjB;EACA,OAAOkB,GAAG;AACZ,CAAC,CAAC,CACL;AAED;;;;AAIA,OAAO,MAAME,QAAQ,gBAGjB7B,IAAI,CAAC,CAAC,EAAE,CAACyB,IAAe,EAAEjB,GAAW,KACvCP,MAAM,CAACM,GAAG,CACRT,GAAG,CAACgC,SAAS,CAACL,IAAI,EAAE,CAAC,CAACG,CAAC,CAAC,KAAKA,CAAC,KAAKpB,GAAG,CAAC,EACvC,CAAC,GAAGC,KAAK,CAAC,KAAKA,KAAK,CACrB,CAAC;AAEJ;;;;AAIA,OAAO,MAAMsB,OAAO,gBAGhB/B,IAAI,CAAC,CAAC,EAAE,CAACyB,IAAe,EAAEjB,GAAW,KACvCP,MAAM,CAACM,GAAG,CACRT,GAAG,CAACkC,QAAQ,CAACP,IAAI,EAAE,CAAC,CAACG,CAAC,CAAC,KAAKA,CAAC,KAAKpB,GAAG,CAAC,EACtC,CAAC,GAAGC,KAAK,CAAC,KAAKA,KAAK,CACrB,CAAC;AAEJ;;;;AAIA,OAAO,MAAMwB,GAAG,gBAGZjC,IAAI,CAAC,CAAC,EAAE,CAACyB,IAAe,EAAEjB,GAAW,EAAEC,KAAgB,KACzDX,GAAG,CAACoC,MAAM,CACRpC,GAAG,CAACqC,MAAM,CAACV,IAAI,EAAE,CAAC,CAACG,CAAC,CAAC,KAAKA,CAAC,KAAKpB,GAAG,CAAC,EACpC,CAACA,GAAG,EAAEE,MAAM,CAACD,KAAK,CAAC,CAAC,CACrB,CAAC;AAEJ;;;;AAIA,OAAO,MAAM2B,MAAM,gBAGfpC,IAAI,CAAC,CAAC,EAAE,CAACyB,IAAe,EAAEtB,KAAY,KAAe;EACvD,MAAMkC,KAAK,GAAGnC,SAAS,CAACC,KAAK,CAAC;EAC9B,MAAMmC,IAAI,GAAGD,KAAK,CAAC9B,GAAG,CAAC,CAAC,CAACqB,CAAC,CAAC,KAAKA,CAAC,CAAC;EAClC,OAAO9B,GAAG,CAACyC,SAAS,CAClBzC,GAAG,CAACqC,MAAM,CAACV,IAAI,EAAE,CAAC,CAACG,CAAC,CAAC,KAAKU,IAAI,CAACE,QAAQ,CAACZ,CAAC,CAAC,CAAC,EAC3CS,KAAK,CACN;AACH,CAAC,CAAC;AAEF;;;;AAIA,OAAO,MAAMH,MAAM,gBAGflC,IAAI,CAAC,CAAC,EAAE,CAACyB,IAAe,EAAEjB,GAAW,EAAEC,KAAgB,KACzDX,GAAG,CAACoC,MAAM,CACRT,IAAI,EACJ,CAACjB,GAAG,EAAEE,MAAM,CAACD,KAAK,CAAC,CAAC,CACrB,CAAC;AAEJ;;;;AAIA,OAAO,MAAM8B,SAAS,gBAGlBvC,IAAI,CAAC,CAAC,EAAE,CAACyB,IAAe,EAAEtB,KAAY,KAAgBL,GAAG,CAACyC,SAAS,CAACd,IAAI,EAAEvB,SAAS,CAACC,KAAK,CAAC,CAAC,CAAC;AAEhG;;;;AAIA,OAAO,MAAMsC,MAAM,gBAGfzC,IAAI,CAAC,CAAC,EAAE,CAACyB,IAAe,EAAEjB,GAAW,KAAgBV,GAAG,CAACqC,MAAM,CAACV,IAAI,EAAE,CAAC,CAACG,CAAC,CAAC,KAAKA,CAAC,KAAKpB,GAAG,CAAC,CAAC;AAE9F;;;;AAIA,OAAO,MAAMkC,QAAQ,GAAIjB,IAAe,IAAa,IAAIkB,eAAe,CAAClB,IAAW,CAAC,CAACiB,QAAQ,EAAE;AAEhG;;;;AAIA,OAAO,MAAME,OAAO,GAAGA,CAACC,GAAW,EAAEC,MAAiB,EAAEC,IAA2B,KAA+B;EAChH,IAAI;IACF,MAAMC,WAAW,GAAG,IAAIC,GAAG,CAACJ,GAAG,EAAEK,OAAO,EAAE,CAAC;IAC3C,KAAK,IAAIlC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG8B,MAAM,CAAC7B,MAAM,EAAED,CAAC,EAAE,EAAE;MACtC,MAAM,CAACR,GAAG,EAAEC,KAAK,CAAC,GAAGqC,MAAM,CAAC9B,CAAC,CAAC;MAC9B,IAAIP,KAAK,KAAK0C,SAAS,EAAE;QACvBH,WAAW,CAACI,YAAY,CAAClB,MAAM,CAAC1B,GAAG,EAAEC,KAAK,CAAC;MAC7C;IACF;IACA,IAAIsC,IAAI,CAACM,IAAI,KAAK,MAAM,EAAE;MACxBL,WAAW,CAACD,IAAI,GAAGA,IAAI,CAACtC,KAAK;IAC/B;IACA,OAAOV,MAAM,CAACuD,KAAK,CAACN,WAAW,CAAC;EAClC,CAAC,CAAC,OAAOO,CAAC,EAAE;IACV,OAAOxD,MAAM,CAACyD,IAAI,CAACD,CAAU,CAAC;EAChC;AACF,CAAC;AAED,MAAML,OAAO,GAAGA,CAAA,KAAyB;EACvC,IACE,UAAU,IAAIO,UAAU,IACxBA,UAAU,CAACC,QAAQ,KAAKP,SAAS,IACjCM,UAAU,CAACC,QAAQ,CAACC,MAAM,KAAKR,SAAS,IACxCM,UAAU,CAACC,QAAQ,CAACE,QAAQ,KAAKT,SAAS,EAC1C;IACA,OAAOO,QAAQ,CAACC,MAAM,GAAGD,QAAQ,CAACE,QAAQ;EAC5C;EACA,OAAOT,SAAS;AAClB,CAAC;AAED;;;;AAIA,OAAO,MAAMU,UAAU,GAAGA,CAAU1C,MAA8B,EAAE2C,OAAkC,KAQlG;EACF,MAAMC,KAAK,GAAGlE,MAAM,CAACmE,aAAa,CAACnE,MAAM,CAACoE,SAAS,CAAC9C,MAAM,CAAC,EAAE2C,OAAO,CAAC;EACrE,OAAO9D,IAAI,CAGT,CAAC,EAAE,CAACyB,IAAI,EAAEyC,KAAK,KAAKH,KAAK,CAAC9D,MAAM,CAACkE,SAAS,CAACpC,OAAO,CAACN,IAAI,EAAEyC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AAChF,CAAC","ignoreList":[]}
@@ -6,6 +6,7 @@ import * as Effectable from "effect/Effectable";
6
6
  import * as FiberRef from "effect/FiberRef";
7
7
  import { dual } from "effect/Function";
8
8
  import * as Inspectable from "effect/Inspectable";
9
+ import * as Layer from "effect/Layer";
9
10
  import * as Option from "effect/Option";
10
11
  import * as Predicate from "effect/Predicate";
11
12
  import * as Tracer from "effect/Tracer";
@@ -198,7 +199,9 @@ export const empty = /*#__PURE__*/new RouterImpl( /*#__PURE__*/Chunk.empty(), /*
198
199
  /** @internal */
199
200
  export const fromIterable = routes => new RouterImpl(Chunk.fromIterable(routes), Chunk.empty());
200
201
  /** @internal */
201
- export const makeRoute = (method, path, handler, prefix = Option.none(), uninterruptible = false) => new RouteImpl(method, path, handler, prefix, uninterruptible);
202
+ export const makeRoute = (method, path, handler, options) => new RouteImpl(method, path, handler, options?.prefix ? Option.some(options.prefix) : Option.none(), options?.uninterruptible ?? false);
203
+ /** @internal */
204
+ export const append = /*#__PURE__*/dual(2, (self, route) => new RouterImpl(Chunk.append(self.routes, route), self.mounts));
202
205
  /** @internal */
203
206
  export const concat = /*#__PURE__*/dual(2, (self, that) => new RouterImpl(Chunk.appendAll(self.routes, that.routes), self.mounts));
204
207
  const removeTrailingSlash = path => path.endsWith("/") ? path.slice(0, -1) : path;
@@ -242,4 +245,76 @@ export const catchTags = /*#__PURE__*/dual(2, (self, cases) => use(self, Effect.
242
245
  export const provideService = /*#__PURE__*/dual(3, (self, tag, service) => use(self, Effect.provideService(tag, service)));
243
246
  /* @internal */
244
247
  export const provideServiceEffect = /*#__PURE__*/dual(3, (self, tag, effect) => use(self, Effect.provideServiceEffect(tag, effect)));
248
+ const makeService = () => {
249
+ let router = empty;
250
+ return {
251
+ addRoute(route) {
252
+ return Effect.sync(() => {
253
+ router = append(router, route);
254
+ });
255
+ },
256
+ all(path, handler, options) {
257
+ return Effect.sync(() => {
258
+ router = all(router, path, handler, options);
259
+ });
260
+ },
261
+ get(path, handler, options) {
262
+ return Effect.sync(() => {
263
+ router = get(router, path, handler, options);
264
+ });
265
+ },
266
+ post(path, handler, options) {
267
+ return Effect.sync(() => {
268
+ router = post(router, path, handler, options);
269
+ });
270
+ },
271
+ put(path, handler, options) {
272
+ return Effect.sync(() => {
273
+ router = put(router, path, handler, options);
274
+ });
275
+ },
276
+ patch(path, handler, options) {
277
+ return Effect.sync(() => {
278
+ router = patch(router, path, handler, options);
279
+ });
280
+ },
281
+ del(path, handler, options) {
282
+ return Effect.sync(() => {
283
+ router = del(router, path, handler, options);
284
+ });
285
+ },
286
+ head(path, handler, options) {
287
+ return Effect.sync(() => {
288
+ router = head(router, path, handler, options);
289
+ });
290
+ },
291
+ options(path, handler, opts) {
292
+ return Effect.sync(() => {
293
+ router = options(router, path, handler, opts);
294
+ });
295
+ },
296
+ router: Effect.sync(() => router)
297
+ };
298
+ };
299
+ /* @internal */
300
+ export const Tag = id => () => {
301
+ const Err = globalThis.Error;
302
+ const limit = Err.stackTraceLimit;
303
+ Err.stackTraceLimit = 2;
304
+ const creationError = new Err();
305
+ Err.stackTraceLimit = limit;
306
+ function TagClass() {}
307
+ Object.setPrototypeOf(TagClass, Object.getPrototypeOf(Context.GenericTag(id)));
308
+ TagClass.key = id;
309
+ Object.defineProperty(TagClass, "stack", {
310
+ get() {
311
+ return creationError.stack;
312
+ }
313
+ });
314
+ TagClass.Live = Layer.sync(TagClass, makeService);
315
+ TagClass.router = Effect.flatMap(TagClass, _ => _.router);
316
+ TagClass.use = f => Layer.effectDiscard(Effect.flatMap(TagClass, f)).pipe(Layer.provide(TagClass.Live));
317
+ TagClass.useScoped = f => Layer.scopedDiscard(Effect.flatMap(TagClass, f)).pipe(Layer.provide(TagClass.Live));
318
+ return TagClass;
319
+ };
245
320
  //# sourceMappingURL=httpRouter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"httpRouter.js","names":["Schema","Chunk","Context","Effect","Effectable","FiberRef","dual","Inspectable","Option","Predicate","Tracer","FindMyWay","Error","ServerRequest","TypeId","Symbol","for","RouteTypeId","RouteContextTypeId","RouteContext","GenericTag","isRouter","u","hasProperty","params","map","_","schemaJson","schema","options","parse","decodeUnknown","flatMap","context","request","get","HttpServerRequest","searchParams","ParsedSearchParams","routeContext","json","body","method","url","headers","cookies","pathParams","schemaNoBody","schemaParams","schemaPathParams","RouterImpl","StructuralClass","routes","mounts","constructor","httpApp","toHttpApp","commit","toJSON","_id","toString","format","NodeInspectSymbol","self","router","make","toReadonlyArray","path","app","RouteContextImpl","RouteImpl","includePrefix","none","some","mountsLen","length","forEach","route","all","on","withFiberRuntime","fiber","unsafeMake","Map","getFiberRef","currentContext","unsafeMap","unsafeGet","i","startsWith","set","key","sliceRequestUrl","locally","handler","result","find","undefined","fail","RouteNotFound","prefix","_tag","value","span","getOption","ParentSpan","attribute","uninterruptible","interruptible","prefexLen","modify","slice","Class","empty","fromIterable","makeRoute","concat","that","appendAll","removeTrailingSlash","endsWith","prefixAll","orElse","mount","mountApp","args","append","post","put","patch","del","head","use","f","catchAll","catchAllCause","catchTag","k","catchTags","cases","provideService","tag","service","provideServiceEffect","effect"],"sources":["../../../src/internal/httpRouter.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"httpRouter.js","names":["Schema","Chunk","Context","Effect","Effectable","FiberRef","dual","Inspectable","Layer","Option","Predicate","Tracer","FindMyWay","Error","ServerRequest","TypeId","Symbol","for","RouteTypeId","RouteContextTypeId","RouteContext","GenericTag","isRouter","u","hasProperty","params","map","_","schemaJson","schema","options","parse","decodeUnknown","flatMap","context","request","get","HttpServerRequest","searchParams","ParsedSearchParams","routeContext","json","body","method","url","headers","cookies","pathParams","schemaNoBody","schemaParams","schemaPathParams","RouterImpl","StructuralClass","routes","mounts","constructor","httpApp","toHttpApp","commit","toJSON","_id","toString","format","NodeInspectSymbol","self","router","make","toReadonlyArray","path","app","RouteContextImpl","RouteImpl","includePrefix","none","some","mountsLen","length","forEach","route","all","on","withFiberRuntime","fiber","unsafeMake","Map","getFiberRef","currentContext","unsafeMap","unsafeGet","i","startsWith","set","key","sliceRequestUrl","locally","handler","result","find","undefined","fail","RouteNotFound","prefix","_tag","value","span","getOption","ParentSpan","attribute","uninterruptible","interruptible","prefexLen","modify","slice","Class","empty","fromIterable","makeRoute","append","concat","that","appendAll","removeTrailingSlash","endsWith","prefixAll","orElse","mount","mountApp","args","post","put","patch","del","head","use","f","catchAll","catchAllCause","catchTag","k","catchTags","cases","provideService","tag","service","provideServiceEffect","effect","makeService","addRoute","sync","opts","Tag","id","Err","globalThis","limit","stackTraceLimit","creationError","TagClass","Object","setPrototypeOf","getPrototypeOf","defineProperty","stack","Live","effectDiscard","pipe","provide","useScoped","scopedDiscard"],"sources":["../../../src/internal/httpRouter.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform",
3
- "version": "0.58.4",
3
+ "version": "0.58.6",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -15,8 +15,8 @@
15
15
  "path-browserify": "^1.0.1"
16
16
  },
17
17
  "peerDependencies": {
18
- "@effect/schema": "^0.68.6",
19
- "effect": "^3.4.0"
18
+ "@effect/schema": "^0.68.7",
19
+ "effect": "^3.4.1"
20
20
  },
21
21
  "publishConfig": {
22
22
  "provenance": true
package/src/HttpRouter.ts CHANGED
@@ -9,6 +9,7 @@ import type * as Chunk from "effect/Chunk"
9
9
  import type * as Context from "effect/Context"
10
10
  import type * as Effect from "effect/Effect"
11
11
  import type { Inspectable } from "effect/Inspectable"
12
+ import type * as Layer from "effect/Layer"
12
13
  import type * as Option from "effect/Option"
13
14
  import type * as Scope from "effect/Scope"
14
15
  import type * as App from "./HttpApp.js"
@@ -54,10 +55,75 @@ export declare namespace HttpRouter {
54
55
  /**
55
56
  * @since 1.0.0
56
57
  */
57
- export type ExcludeProvided<A> = Exclude<
58
- A,
59
- RouteContext | ServerRequest.HttpServerRequest | ServerRequest.ParsedSearchParams | Scope.Scope
60
- >
58
+ export type Provided = RouteContext | ServerRequest.HttpServerRequest | ServerRequest.ParsedSearchParams | Scope.Scope
59
+
60
+ /**
61
+ * @since 1.0.0
62
+ */
63
+ export type ExcludeProvided<A> = Exclude<A, Provided>
64
+
65
+ /**
66
+ * @since 1.0.0
67
+ */
68
+ export interface Service<E, R> {
69
+ readonly router: Effect.Effect<HttpRouter<E, R>>
70
+
71
+ readonly addRoute: (route: Route<E, R>) => Effect.Effect<void>
72
+
73
+ readonly all: (
74
+ path: PathInput,
75
+ handler: Route.Handler<E, R | Provided>,
76
+ options?: { readonly uninterruptible?: boolean | undefined } | undefined
77
+ ) => Effect.Effect<void>
78
+ readonly get: (
79
+ path: PathInput,
80
+ handler: Route.Handler<E, R | Provided>,
81
+ options?: { readonly uninterruptible?: boolean | undefined } | undefined
82
+ ) => Effect.Effect<void>
83
+ readonly post: (
84
+ path: PathInput,
85
+ handler: Route.Handler<E, R | Provided>,
86
+ options?: { readonly uninterruptible?: boolean | undefined } | undefined
87
+ ) => Effect.Effect<void>
88
+ readonly put: (
89
+ path: PathInput,
90
+ handler: Route.Handler<E, R | Provided>,
91
+ options?: { readonly uninterruptible?: boolean | undefined } | undefined
92
+ ) => Effect.Effect<void>
93
+ readonly patch: (
94
+ path: PathInput,
95
+ handler: Route.Handler<E, R | Provided>,
96
+ options?: { readonly uninterruptible?: boolean | undefined } | undefined
97
+ ) => Effect.Effect<void>
98
+ readonly del: (
99
+ path: PathInput,
100
+ handler: Route.Handler<E, R | Provided>,
101
+ options?: { readonly uninterruptible?: boolean | undefined } | undefined
102
+ ) => Effect.Effect<void>
103
+ readonly head: (
104
+ path: PathInput,
105
+ handler: Route.Handler<E, R | Provided>,
106
+ options?: { readonly uninterruptible?: boolean | undefined } | undefined
107
+ ) => Effect.Effect<void>
108
+ readonly options: (
109
+ path: PathInput,
110
+ handler: Route.Handler<E, R | Provided>,
111
+ options?: { readonly uninterruptible?: boolean | undefined } | undefined
112
+ ) => Effect.Effect<void>
113
+ }
114
+
115
+ /**
116
+ * @since 1.0.0
117
+ */
118
+ export interface TagClass<Self, Name extends string, E, R> extends Context.Tag<Self, Service<E, R>> {
119
+ new(_: never): Context.TagClassShape<`@effect/platform/HttpRouter/${Name}`, Service<E, R>>
120
+ readonly Live: Layer.Layer<Self>
121
+ readonly router: Effect.Effect<HttpRouter<E, R>, never, Self>
122
+ readonly use: <XA, XE, XR>(f: (router: Service<E, R>) => Effect.Effect<XA, XE, XR>) => Layer.Layer<never, XE, XR>
123
+ readonly useScoped: <XA, XE, XR>(
124
+ f: (router: Service<E, R>) => Effect.Effect<XA, XE, XR>
125
+ ) => Layer.Layer<never, XE, Exclude<XR, Scope.Scope>>
126
+ }
61
127
  }
62
128
 
63
129
  /**
@@ -232,8 +298,7 @@ export const makeRoute: <E, R>(
232
298
  method: Method.HttpMethod,
233
299
  path: PathInput,
234
300
  handler: Route.Handler<E, R>,
235
- prefix?: Option.Option<string>,
236
- uninterruptible?: boolean
301
+ options?: { readonly prefix?: string | undefined; readonly uninterruptible?: boolean | undefined } | undefined
237
302
  ) => Route<E, HttpRouter.ExcludeProvided<R>> = internal.makeRoute
238
303
 
239
304
  /**
@@ -245,6 +310,28 @@ export const prefixAll: {
245
310
  <E, R>(self: HttpRouter<E, R>, prefix: PathInput): HttpRouter<E, R>
246
311
  } = internal.prefixAll
247
312
 
313
+ /**
314
+ * @since 1.0.0
315
+ * @category combinators
316
+ */
317
+ export const append: {
318
+ <R1, E1>(
319
+ route: Route<E1, R1>
320
+ ): <E, R>(
321
+ self: HttpRouter<E, R>
322
+ ) => HttpRouter<
323
+ E1 | E,
324
+ R | HttpRouter.ExcludeProvided<R1>
325
+ >
326
+ <E, R, E1, R1>(
327
+ self: HttpRouter<E, R>,
328
+ route: Route<E1, R1>
329
+ ): HttpRouter<
330
+ E | E1,
331
+ R | HttpRouter.ExcludeProvided<R1>
332
+ >
333
+ } = internal.append
334
+
248
335
  /**
249
336
  * @since 1.0.0
250
337
  * @category combinators
@@ -634,3 +721,11 @@ export const provideServiceEffect: {
634
721
  | Exclude<HttpRouter.ExcludeProvided<R1>, Context.Tag.Identifier<T>>
635
722
  >
636
723
  } = internal.provideServiceEffect
724
+
725
+ /**
726
+ * @since 1.0.0
727
+ * @category tags
728
+ */
729
+ export const Tag: <const Name extends string>(
730
+ id: Name
731
+ ) => <Self, E = never, R = never>() => HttpRouter.TagClass<Self, Name, E, R> = internal.Tag
package/src/UrlParams.ts CHANGED
@@ -21,26 +21,32 @@ export interface UrlParams extends ReadonlyArray<readonly [string, string]> {}
21
21
  * @category models
22
22
  */
23
23
  export type Input =
24
- | Readonly<Record<string, string | ReadonlyArray<string>>>
25
- | Iterable<readonly [string, string]>
24
+ | Readonly<Record<string, Coercible | ReadonlyArray<Coercible>>>
25
+ | Iterable<readonly [string, Coercible]>
26
26
  | URLSearchParams
27
27
 
28
+ /**
29
+ * @since 1.0.0
30
+ * @category models
31
+ */
32
+ export type Coercible = string | number | bigint | boolean
33
+
28
34
  /**
29
35
  * @since 1.0.0
30
36
  * @category constructors
31
37
  */
32
38
  export const fromInput = (input: Input): UrlParams => {
33
39
  if (Symbol.iterator in input) {
34
- return Arr.fromIterable(input)
40
+ return Arr.fromIterable(input).map(([key, value]) => [key, String(value)])
35
41
  }
36
42
  const out: Array<readonly [string, string]> = []
37
43
  for (const [key, value] of Object.entries(input)) {
38
44
  if (Array.isArray(value)) {
39
45
  for (let i = 0; i < value.length; i++) {
40
- out.push([key, value[i]])
46
+ out.push([key, String(value[i])])
41
47
  }
42
48
  } else {
43
- out.push([key, value as string])
49
+ out.push([key, String(value)])
44
50
  }
45
51
  }
46
52
  return out
@@ -67,16 +73,16 @@ export const empty: UrlParams = []
67
73
  export const getAll: {
68
74
  (key: string): (self: UrlParams) => ReadonlyArray<string>
69
75
  (self: UrlParams, key: string): ReadonlyArray<string>
70
- } = dual<
71
- (key: string) => (self: UrlParams) => ReadonlyArray<string>,
72
- (self: UrlParams, key: string) => ReadonlyArray<string>
73
- >(2, (self, key) =>
74
- Arr.reduce(self, [] as Array<string>, (acc, [k, value]) => {
75
- if (k === key) {
76
- acc.push(value)
77
- }
78
- return acc
79
- }))
76
+ } = dual(
77
+ 2,
78
+ (self: UrlParams, key: string): ReadonlyArray<string> =>
79
+ Arr.reduce(self, [] as Array<string>, (acc, [k, value]) => {
80
+ if (k === key) {
81
+ acc.push(value)
82
+ }
83
+ return acc
84
+ })
85
+ )
80
86
 
81
87
  /**
82
88
  * @since 1.0.0
@@ -85,15 +91,9 @@ export const getAll: {
85
91
  export const getFirst: {
86
92
  (key: string): (self: UrlParams) => Option.Option<string>
87
93
  (self: UrlParams, key: string): Option.Option<string>
88
- } = dual<
89
- (key: string) => (self: UrlParams) => Option.Option<string>,
90
- (self: UrlParams, key: string) => Option.Option<string>
91
- >(2, (self, key) =>
94
+ } = dual(2, (self: UrlParams, key: string): Option.Option<string> =>
92
95
  Option.map(
93
- Arr.findFirst(
94
- self,
95
- ([k]) => k === key
96
- ),
96
+ Arr.findFirst(self, ([k]) => k === key),
97
97
  ([, value]) => value
98
98
  ))
99
99
 
@@ -104,15 +104,9 @@ export const getFirst: {
104
104
  export const getLast: {
105
105
  (key: string): (self: UrlParams) => Option.Option<string>
106
106
  (self: UrlParams, key: string): Option.Option<string>
107
- } = dual<
108
- (key: string) => (self: UrlParams) => Option.Option<string>,
109
- (self: UrlParams, key: string) => Option.Option<string>
110
- >(2, (self, key) =>
107
+ } = dual(2, (self: UrlParams, key: string): Option.Option<string> =>
111
108
  Option.map(
112
- Arr.findLast(
113
- self,
114
- ([k]) => k === key
115
- ),
109
+ Arr.findLast(self, ([k]) => k === key),
116
110
  ([, value]) => value
117
111
  ))
118
112
 
@@ -121,15 +115,12 @@ export const getLast: {
121
115
  * @category combinators
122
116
  */
123
117
  export const set: {
124
- (key: string, value: string): (self: UrlParams) => UrlParams
125
- (self: UrlParams, key: string, value: string): UrlParams
126
- } = dual<
127
- (key: string, value: string) => (self: UrlParams) => UrlParams,
128
- (self: UrlParams, key: string, value: string) => UrlParams
129
- >(3, (self, key, value) =>
118
+ (key: string, value: Coercible): (self: UrlParams) => UrlParams
119
+ (self: UrlParams, key: string, value: Coercible): UrlParams
120
+ } = dual(3, (self: UrlParams, key: string, value: Coercible): UrlParams =>
130
121
  Arr.append(
131
122
  Arr.filter(self, ([k]) => k !== key),
132
- [key, value]
123
+ [key, String(value)]
133
124
  ))
134
125
 
135
126
  /**
@@ -139,10 +130,7 @@ export const set: {
139
130
  export const setAll: {
140
131
  (input: Input): (self: UrlParams) => UrlParams
141
132
  (self: UrlParams, input: Input): UrlParams
142
- } = dual<
143
- (input: Input) => (self: UrlParams) => UrlParams,
144
- (self: UrlParams, input: Input) => UrlParams
145
- >(2, (self, input) => {
133
+ } = dual(2, (self: UrlParams, input: Input): UrlParams => {
146
134
  const toSet = fromInput(input)
147
135
  const keys = toSet.map(([k]) => k)
148
136
  return Arr.appendAll(
@@ -156,15 +144,12 @@ export const setAll: {
156
144
  * @category combinators
157
145
  */
158
146
  export const append: {
159
- (key: string, value: string): (self: UrlParams) => UrlParams
160
- (self: UrlParams, key: string, value: string): UrlParams
161
- } = dual<
162
- (key: string, value: string) => (self: UrlParams) => UrlParams,
163
- (self: UrlParams, key: string, value: string) => UrlParams
164
- >(3, (self, key, value) =>
147
+ (key: string, value: Coercible): (self: UrlParams) => UrlParams
148
+ (self: UrlParams, key: string, value: Coercible): UrlParams
149
+ } = dual(3, (self: UrlParams, key: string, value: Coercible): UrlParams =>
165
150
  Arr.append(
166
151
  self,
167
- [key, value]
152
+ [key, String(value)]
168
153
  ))
169
154
 
170
155
  /**
@@ -174,14 +159,7 @@ export const append: {
174
159
  export const appendAll: {
175
160
  (input: Input): (self: UrlParams) => UrlParams
176
161
  (self: UrlParams, input: Input): UrlParams
177
- } = dual<
178
- (input: Input) => (self: UrlParams) => UrlParams,
179
- (self: UrlParams, input: Input) => UrlParams
180
- >(2, (self, input) =>
181
- Arr.appendAll(
182
- self,
183
- fromInput(input)
184
- ))
162
+ } = dual(2, (self: UrlParams, input: Input): UrlParams => Arr.appendAll(self, fromInput(input)))
185
163
 
186
164
  /**
187
165
  * @since 1.0.0
@@ -190,10 +168,7 @@ export const appendAll: {
190
168
  export const remove: {
191
169
  (key: string): (self: UrlParams) => UrlParams
192
170
  (self: UrlParams, key: string): UrlParams
193
- } = dual<
194
- (key: string) => (self: UrlParams) => UrlParams,
195
- (self: UrlParams, key: string) => UrlParams
196
- >(2, (self, key) => Arr.filter(self, ([k]) => k !== key))
171
+ } = dual(2, (self: UrlParams, key: string): UrlParams => Arr.filter(self, ([k]) => k !== key))
197
172
 
198
173
  /**
199
174
  * @since 1.0.0