@effect/platform-node-shared 0.13.3 → 0.14.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform-node-shared",
3
- "version": "0.13.3",
3
+ "version": "0.14.0",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -14,7 +14,7 @@
14
14
  "multipasta": "^0.2.5"
15
15
  },
16
16
  "peerDependencies": {
17
- "@effect/platform": "^0.63.3",
17
+ "@effect/platform": "^0.64.0",
18
18
  "effect": "^3.7.2"
19
19
  },
20
20
  "publishConfig": {
@@ -27,11 +27,6 @@
27
27
  "import": "./dist/esm/NodeCommandExecutor.js",
28
28
  "default": "./dist/cjs/NodeCommandExecutor.js"
29
29
  },
30
- "./NodeEtag": {
31
- "types": "./dist/dts/NodeEtag.d.ts",
32
- "import": "./dist/esm/NodeEtag.js",
33
- "default": "./dist/cjs/NodeEtag.js"
34
- },
35
30
  "./NodeFileSystem": {
36
31
  "types": "./dist/dts/NodeFileSystem.d.ts",
37
32
  "import": "./dist/esm/NodeFileSystem.js",
@@ -83,9 +78,6 @@
83
78
  "NodeCommandExecutor": [
84
79
  "./dist/dts/NodeCommandExecutor.d.ts"
85
80
  ],
86
- "NodeEtag": [
87
- "./dist/dts/NodeEtag.d.ts"
88
- ],
89
81
  "NodeFileSystem": [
90
82
  "./dist/dts/NodeFileSystem.d.ts"
91
83
  ],
@@ -1,6 +0,0 @@
1
- {
2
- "main": "../dist/cjs/NodeEtag.js",
3
- "module": "../dist/esm/NodeEtag.js",
4
- "types": "../dist/dts/NodeEtag.d.ts",
5
- "sideEffects": []
6
- }
@@ -1,20 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.layerWeak = exports.layer = void 0;
7
- var internal = _interopRequireWildcard(require("./internal/etag.js"));
8
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
- /**
11
- * @since 1.0.0
12
- * @category layers
13
- */
14
- const layer = exports.layer = internal.layer;
15
- /**
16
- * @since 1.0.0
17
- * @category layers
18
- */
19
- const layerWeak = exports.layerWeak = internal.layerWeak;
20
- //# sourceMappingURL=NodeEtag.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NodeEtag.js","names":["internal","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","layer","exports","layerWeak"],"sources":["../../src/NodeEtag.ts"],"sourcesContent":[null],"mappings":";;;;;;AAKA,IAAAA,QAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA8C,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAE9C;;;;AAIO,MAAMW,KAAK,GAAAC,OAAA,CAAAD,KAAA,GAAgCvB,QAAQ,CAACuB,KAAK;AAEhE;;;;AAIO,MAAME,SAAS,GAAAD,OAAA,CAAAC,SAAA,GAAgCzB,QAAQ,CAACyB,SAAS","ignoreList":[]}
@@ -1,51 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.layerWeak = exports.layer = void 0;
7
- var Etag = _interopRequireWildcard(require("@effect/platform/Etag"));
8
- var Effect = _interopRequireWildcard(require("effect/Effect"));
9
- var Layer = _interopRequireWildcard(require("effect/Layer"));
10
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
11
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
- const fromFileInfo = info => {
13
- const mtime = info.mtime._tag === "Some" ? info.mtime.value.getTime().toString(16) : "0";
14
- return `${info.size.toString(16)}-${mtime}`;
15
- };
16
- const fromFileWeb = file => {
17
- return `${file.size.toString(16)}-${file.lastModified.toString(16)}`;
18
- };
19
- /** @internal */
20
- const layer = exports.layer = /*#__PURE__*/Layer.succeed(Etag.Generator, /*#__PURE__*/Etag.Generator.of({
21
- [Etag.GeneratorTypeId]: Etag.GeneratorTypeId,
22
- fromFileInfo(info) {
23
- return Effect.sync(() => ({
24
- _tag: "Strong",
25
- value: fromFileInfo(info)
26
- }));
27
- },
28
- fromFileWeb(file) {
29
- return Effect.sync(() => ({
30
- _tag: "Strong",
31
- value: fromFileWeb(file)
32
- }));
33
- }
34
- }));
35
- /** @internal */
36
- const layerWeak = exports.layerWeak = /*#__PURE__*/Layer.succeed(Etag.Generator, /*#__PURE__*/Etag.Generator.of({
37
- [Etag.GeneratorTypeId]: Etag.GeneratorTypeId,
38
- fromFileInfo(info) {
39
- return Effect.sync(() => ({
40
- _tag: "Weak",
41
- value: fromFileInfo(info)
42
- }));
43
- },
44
- fromFileWeb(file) {
45
- return Effect.sync(() => ({
46
- _tag: "Weak",
47
- value: fromFileWeb(file)
48
- }));
49
- }
50
- }));
51
- //# sourceMappingURL=etag.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"etag.js","names":["Etag","_interopRequireWildcard","require","Effect","Layer","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","fromFileInfo","info","mtime","_tag","value","getTime","toString","size","fromFileWeb","file","lastModified","layer","exports","succeed","Generator","of","GeneratorTypeId","sync","layerWeak"],"sources":["../../../src/internal/etag.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,16 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import type * as Etag from "@effect/platform/Etag";
5
- import type * as Layer from "effect/Layer";
6
- /**
7
- * @since 1.0.0
8
- * @category layers
9
- */
10
- export declare const layer: Layer.Layer<Etag.Generator>;
11
- /**
12
- * @since 1.0.0
13
- * @category layers
14
- */
15
- export declare const layerWeak: Layer.Layer<Etag.Generator>;
16
- //# sourceMappingURL=NodeEtag.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NodeEtag.d.ts","sourceRoot":"","sources":["../../src/NodeEtag.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,IAAI,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAG1C;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAkB,CAAA;AAEhE;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAsB,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=etag.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"etag.d.ts","sourceRoot":"","sources":["../../../src/internal/etag.ts"],"names":[],"mappings":""}
@@ -1,12 +0,0 @@
1
- import * as internal from "./internal/etag.js";
2
- /**
3
- * @since 1.0.0
4
- * @category layers
5
- */
6
- export const layer = internal.layer;
7
- /**
8
- * @since 1.0.0
9
- * @category layers
10
- */
11
- export const layerWeak = internal.layerWeak;
12
- //# sourceMappingURL=NodeEtag.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NodeEtag.js","names":["internal","layer","layerWeak"],"sources":["../../src/NodeEtag.ts"],"sourcesContent":[null],"mappings":"AAKA,OAAO,KAAKA,QAAQ,MAAM,oBAAoB;AAE9C;;;;AAIA,OAAO,MAAMC,KAAK,GAAgCD,QAAQ,CAACC,KAAK;AAEhE;;;;AAIA,OAAO,MAAMC,SAAS,GAAgCF,QAAQ,CAACE,SAAS","ignoreList":[]}
@@ -1,43 +0,0 @@
1
- import * as Etag from "@effect/platform/Etag";
2
- import * as Effect from "effect/Effect";
3
- import * as Layer from "effect/Layer";
4
- const fromFileInfo = info => {
5
- const mtime = info.mtime._tag === "Some" ? info.mtime.value.getTime().toString(16) : "0";
6
- return `${info.size.toString(16)}-${mtime}`;
7
- };
8
- const fromFileWeb = file => {
9
- return `${file.size.toString(16)}-${file.lastModified.toString(16)}`;
10
- };
11
- /** @internal */
12
- export const layer = /*#__PURE__*/Layer.succeed(Etag.Generator, /*#__PURE__*/Etag.Generator.of({
13
- [Etag.GeneratorTypeId]: Etag.GeneratorTypeId,
14
- fromFileInfo(info) {
15
- return Effect.sync(() => ({
16
- _tag: "Strong",
17
- value: fromFileInfo(info)
18
- }));
19
- },
20
- fromFileWeb(file) {
21
- return Effect.sync(() => ({
22
- _tag: "Strong",
23
- value: fromFileWeb(file)
24
- }));
25
- }
26
- }));
27
- /** @internal */
28
- export const layerWeak = /*#__PURE__*/Layer.succeed(Etag.Generator, /*#__PURE__*/Etag.Generator.of({
29
- [Etag.GeneratorTypeId]: Etag.GeneratorTypeId,
30
- fromFileInfo(info) {
31
- return Effect.sync(() => ({
32
- _tag: "Weak",
33
- value: fromFileInfo(info)
34
- }));
35
- },
36
- fromFileWeb(file) {
37
- return Effect.sync(() => ({
38
- _tag: "Weak",
39
- value: fromFileWeb(file)
40
- }));
41
- }
42
- }));
43
- //# sourceMappingURL=etag.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"etag.js","names":["Etag","Effect","Layer","fromFileInfo","info","mtime","_tag","value","getTime","toString","size","fromFileWeb","file","lastModified","layer","succeed","Generator","of","GeneratorTypeId","sync","layerWeak"],"sources":["../../../src/internal/etag.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,IAAI,MAAM,uBAAuB;AAG7C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,MAAMC,YAAY,GAAIC,IAA0B,IAAI;EAClD,MAAMC,KAAK,GAAGD,IAAI,CAACC,KAAK,CAACC,IAAI,KAAK,MAAM,GACpCF,IAAI,CAACC,KAAK,CAACE,KAAK,CAACC,OAAO,EAAE,CAACC,QAAQ,CAAC,EAAE,CAAC,GACvC,GAAG;EACP,OAAO,GAAGL,IAAI,CAACM,IAAI,CAACD,QAAQ,CAAC,EAAE,CAAC,IAAIJ,KAAK,EAAE;AAC7C,CAAC;AAED,MAAMM,WAAW,GAAIC,IAA4B,IAAI;EACnD,OAAO,GAAGA,IAAI,CAACF,IAAI,CAACD,QAAQ,CAAC,EAAE,CAAC,IAAIG,IAAI,CAACC,YAAY,CAACJ,QAAQ,CAAC,EAAE,CAAC,EAAE;AACtE,CAAC;AAED;AACA,OAAO,MAAMK,KAAK,gBAAGZ,KAAK,CAACa,OAAO,CAChCf,IAAI,CAACgB,SAAS,eACdhB,IAAI,CAACgB,SAAS,CAACC,EAAE,CAAC;EAChB,CAACjB,IAAI,CAACkB,eAAe,GAAGlB,IAAI,CAACkB,eAAe;EAC5Cf,YAAYA,CAACC,IAAI;IACf,OAAOH,MAAM,CAACkB,IAAI,CAAC,OAAO;MAAEb,IAAI,EAAE,QAAQ;MAAEC,KAAK,EAAEJ,YAAY,CAACC,IAAI;IAAC,CAAE,CAAC,CAAC;EAC3E,CAAC;EACDO,WAAWA,CAACC,IAAI;IACd,OAAOX,MAAM,CAACkB,IAAI,CAAC,OAAO;MAAEb,IAAI,EAAE,QAAQ;MAAEC,KAAK,EAAEI,WAAW,CAACC,IAAI;IAAC,CAAE,CAAC,CAAC;EAC1E;CACD,CAAC,CACH;AAED;AACA,OAAO,MAAMQ,SAAS,gBAAGlB,KAAK,CAACa,OAAO,CACpCf,IAAI,CAACgB,SAAS,eACdhB,IAAI,CAACgB,SAAS,CAACC,EAAE,CAAC;EAChB,CAACjB,IAAI,CAACkB,eAAe,GAAGlB,IAAI,CAACkB,eAAe;EAC5Cf,YAAYA,CAACC,IAAI;IACf,OAAOH,MAAM,CAACkB,IAAI,CAAC,OAAO;MAAEb,IAAI,EAAE,MAAM;MAAEC,KAAK,EAAEJ,YAAY,CAACC,IAAI;IAAC,CAAE,CAAC,CAAC;EACzE,CAAC;EACDO,WAAWA,CAACC,IAAI;IACd,OAAOX,MAAM,CAACkB,IAAI,CAAC,OAAO;MAAEb,IAAI,EAAE,MAAM;MAAEC,KAAK,EAAEI,WAAW,CAACC,IAAI;IAAC,CAAE,CAAC,CAAC;EACxE;CACD,CAAC,CACH","ignoreList":[]}
package/src/NodeEtag.ts DELETED
@@ -1,18 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import type * as Etag from "@effect/platform/Etag"
5
- import type * as Layer from "effect/Layer"
6
- import * as internal from "./internal/etag.js"
7
-
8
- /**
9
- * @since 1.0.0
10
- * @category layers
11
- */
12
- export const layer: Layer.Layer<Etag.Generator> = internal.layer
13
-
14
- /**
15
- * @since 1.0.0
16
- * @category layers
17
- */
18
- export const layerWeak: Layer.Layer<Etag.Generator> = internal.layerWeak
@@ -1,44 +0,0 @@
1
- import * as Etag from "@effect/platform/Etag"
2
- import type * as FileSystem from "@effect/platform/FileSystem"
3
- import type * as Body from "@effect/platform/HttpBody"
4
- import * as Effect from "effect/Effect"
5
- import * as Layer from "effect/Layer"
6
-
7
- const fromFileInfo = (info: FileSystem.File.Info) => {
8
- const mtime = info.mtime._tag === "Some"
9
- ? info.mtime.value.getTime().toString(16)
10
- : "0"
11
- return `${info.size.toString(16)}-${mtime}`
12
- }
13
-
14
- const fromFileWeb = (file: Body.HttpBody.FileLike) => {
15
- return `${file.size.toString(16)}-${file.lastModified.toString(16)}`
16
- }
17
-
18
- /** @internal */
19
- export const layer = Layer.succeed(
20
- Etag.Generator,
21
- Etag.Generator.of({
22
- [Etag.GeneratorTypeId]: Etag.GeneratorTypeId,
23
- fromFileInfo(info) {
24
- return Effect.sync(() => ({ _tag: "Strong", value: fromFileInfo(info) }))
25
- },
26
- fromFileWeb(file) {
27
- return Effect.sync(() => ({ _tag: "Strong", value: fromFileWeb(file) }))
28
- }
29
- })
30
- )
31
-
32
- /** @internal */
33
- export const layerWeak = Layer.succeed(
34
- Etag.Generator,
35
- Etag.Generator.of({
36
- [Etag.GeneratorTypeId]: Etag.GeneratorTypeId,
37
- fromFileInfo(info) {
38
- return Effect.sync(() => ({ _tag: "Weak", value: fromFileInfo(info) }))
39
- },
40
- fromFileWeb(file) {
41
- return Effect.sync(() => ({ _tag: "Weak", value: fromFileWeb(file) }))
42
- }
43
- })
44
- )