@haibun/domain-storage 3.1.1 → 3.3.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.
@@ -1,79 +1,96 @@
1
- import { TStepArgs, TWorld } from '@haibun/core/lib/defs.js';
1
+ import { TStepArgs } from '@haibun/core/schema/protocol.js';
2
2
  import { IFile, TLocationOptions } from './domain-storage.js';
3
3
  import { TMediaType } from './media-types.js';
4
- import { AStepper } from '@haibun/core/lib/astepper.js';
4
+ import { AStepper } from "@haibun/core/lib/astepper.js";
5
5
  import { TAnyFixme } from '@haibun/core/lib/fixme.js';
6
- export type TTree = Array<IFile | IFileWithEntries>;
7
- interface IFileWithEntries extends IFile {
8
- entries: TTree;
6
+ /**
7
+ * Result from saveArtifact with paths for different consumption contexts.
8
+ */
9
+ export interface TSavedArtifact {
10
+ /** Absolute path where file was saved */
11
+ absolutePath: string;
12
+ /** Path relative to feature dir for serialized HTML: ./subpath/file.png or ./file.html */
13
+ featureRelativePath: string;
14
+ /** Path relative to base capture dir for live server: seq-0/featn-1/subpath/file.png */
15
+ baseRelativePath: string;
9
16
  }
10
17
  export declare abstract class AStorage extends AStepper {
18
+ description: string;
19
+ kind: "STORAGE";
11
20
  abstract readFile(path: string, coding?: string): TAnyFixme;
12
- abstract rm(path: string): any;
21
+ abstract rm(path: string): void;
13
22
  abstract readdir(dir: string): Promise<string[]>;
14
23
  abstract lstatToIFile(file: string): Promise<IFile>;
15
24
  abstract writeFileBuffer(file: string, contents: Buffer, mediaType: TMediaType): void;
16
- readFlat(dir: string, filter?: string): Promise<IFile[]>;
17
- readTree(dir: string, filter?: string): Promise<TTree>;
18
25
  readdirStat(dir: string): Promise<IFile[]>;
19
26
  writeFile(file: string, contents: string | Buffer, mediaType: TMediaType): Promise<void>;
20
- abstract mkdir(dir: string): any;
21
- abstract mkdirp(dir: string): any;
22
- abstract exists(ntt: string): any;
23
- fromCaptureLocation(mediaType: TMediaType, ...where: string[]): string;
27
+ abstract mkdir(dir: string): void;
28
+ abstract mkdirp(dir: string): void;
29
+ abstract exists(ntt: string): boolean;
24
30
  /**
25
31
  * Returns a storage specific resolved path for a given media type.
26
32
  * Overload this where slash directory conventions aren't used.
27
33
  */
28
34
  fromLocation(mediaType: TMediaType, ...where: string[]): string;
29
- locator: (options: import("@haibun/core/lib/defs.js").TBaseOptions, tag: import("@haibun/core/build/lib/ttag.js").TTag, ...where: (string | undefined)[]) => string;
30
- getRelativePath(pathIn: string | undefined): Promise<string>;
35
+ locator: (options: import("@haibun/core/build/lib/defs.js").TBaseOptions, tag: import("@haibun/core/build/lib/ttag.js").TTag, ...where: (string | undefined)[]) => string;
31
36
  getCaptureLocation(loc: TLocationOptions, app?: string): Promise<string>;
32
- runtimePath(world?: TWorld): Promise<string>;
37
+ /**
38
+ * Get base artifact path (capture/DEST/key) without seq/featn.
39
+ * Used for HTTP servers that serve artifacts from all features.
40
+ */
41
+ getArtifactBasePath(): string;
42
+ /**
43
+ * Save an artifact and return paths for different consumption contexts.
44
+ * Uses this.world for tag/options - caller must ensure storage world is in sync.
45
+ * @param filename - The filename to save as
46
+ * @param contents - File contents (Buffer or string)
47
+ * @param mediaType - Media type for proper handling
48
+ * @param subpath - Optional subdirectory (e.g., 'image', 'video')
49
+ */
50
+ saveArtifact(filename: string, contents: string | Buffer, mediaType: TMediaType, subpath?: string): Promise<TSavedArtifact>;
33
51
  ensureCaptureLocation(loc: TLocationOptions, app?: string | undefined, fn?: string): Promise<string>;
34
52
  ensureDirExists(dir: string): Promise<void>;
35
53
  steps: {
36
54
  createSizedFile: {
37
55
  gwta: string;
38
- action: ({ where, what }: TStepArgs) => Promise<import("@haibun/core/lib/defs.js").TOKActionResult>;
56
+ action: ({ where, what }: TStepArgs) => Promise<import("@haibun/core/schema/protocol.js").TOKActionResult>;
39
57
  };
40
58
  createFile: {
41
59
  gwta: string;
42
- action: ({ where, what }: TStepArgs) => Promise<import("@haibun/core/lib/defs.js").TOKActionResult>;
60
+ action: ({ where, what }: TStepArgs) => Promise<import("@haibun/core/schema/protocol.js").TOKActionResult>;
43
61
  };
44
62
  createDirectory: {
45
63
  gwta: string;
46
- action: ({ where }: TStepArgs) => Promise<import("@haibun/core/lib/defs.js").TOKActionResult>;
64
+ action: ({ where }: TStepArgs) => Promise<import("@haibun/core/schema/protocol.js").TOKActionResult>;
47
65
  };
48
66
  filesCount: {
49
67
  gwta: string;
50
- action: ({ where, count }: TStepArgs) => Promise<import("@haibun/core/lib/defs.js").TOKActionResult | import("@haibun/core/lib/defs.js").TNotOKActionResult>;
68
+ action: ({ where, count }: TStepArgs) => Promise<import("@haibun/core/schema/protocol.js").TOKActionResult | import("@haibun/core/schema/protocol.js").TNotOKActionResult>;
51
69
  };
52
70
  testIs: {
53
71
  gwta: string;
54
- action: ({ where, what }: TStepArgs) => Promise<import("@haibun/core/lib/defs.js").TOKActionResult | import("@haibun/core/lib/defs.js").TNotOKActionResult>;
72
+ action: ({ where, what }: TStepArgs) => Promise<import("@haibun/core/schema/protocol.js").TOKActionResult | import("@haibun/core/schema/protocol.js").TNotOKActionResult>;
55
73
  };
56
74
  testContains: {
57
75
  gwta: string;
58
- action: ({ where, what }: TStepArgs) => Promise<import("@haibun/core/lib/defs.js").TOKActionResult | import("@haibun/core/lib/defs.js").TNotOKActionResult>;
76
+ action: ({ where, what }: TStepArgs) => Promise<import("@haibun/core/schema/protocol.js").TOKActionResult | import("@haibun/core/schema/protocol.js").TNotOKActionResult>;
59
77
  };
60
78
  readText: {
61
79
  gwta: string;
62
- action: ({ where }: TStepArgs) => Promise<import("@haibun/core/lib/defs.js").TOKActionResult>;
80
+ action: ({ where }: TStepArgs) => Promise<import("@haibun/core/schema/protocol.js").TOKActionResult>;
63
81
  };
64
82
  listFiles: {
65
83
  gwta: string;
66
- action: ({ where }: TStepArgs) => Promise<import("@haibun/core/lib/defs.js").TOKActionResult>;
84
+ action: ({ where }: TStepArgs) => Promise<import("@haibun/core/schema/protocol.js").TOKActionResult>;
67
85
  };
68
86
  fileExists: {
69
87
  gwta: string;
70
- action: ({ what }: TStepArgs) => Promise<import("@haibun/core/lib/defs.js").TOKActionResult | import("@haibun/core/lib/defs.js").TNotOKActionResult>;
88
+ action: ({ what }: TStepArgs) => Promise<import("@haibun/core/schema/protocol.js").TOKActionResult | import("@haibun/core/schema/protocol.js").TNotOKActionResult>;
71
89
  };
72
90
  isTheSame: {
73
91
  gwta: string;
74
- action: ({ what, where }: TStepArgs) => import("@haibun/core/lib/defs.js").TOKActionResult | import("@haibun/core/lib/defs.js").TNotOKActionResult;
92
+ action: ({ what, where }: TStepArgs) => import("@haibun/core/schema/protocol.js").TOKActionResult | import("@haibun/core/schema/protocol.js").TNotOKActionResult;
75
93
  };
76
94
  };
77
95
  }
78
- export {};
79
96
  //# sourceMappingURL=AStorage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AStorage.d.ts","sourceRoot":"","sources":["../src/AStorage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,SAAS,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAG1E,OAAO,EAAkB,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAe,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,MAAM,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,gBAAgB,CAAC,CAAC;AAEpD,UAAU,gBAAiB,SAAQ,KAAK;IACvC,OAAO,EAAE,KAAK,CAAC;CACf;AACD,8BAAsB,QAAS,SAAQ,QAAQ;IAC9C,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS;IAC3D,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM;IACxB,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IACnD,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,IAAI;IAE/E,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAcxD,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IActD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAS1C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,EAAE,UAAU;IAQ9E,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM;IAC1B,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM;IAC3B,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM;IAE3B,mBAAmB,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE;IAI7D;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE;IAItD,OAAO,6JAAkB;IAEnB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAU1C,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,CAAC,EAAE,MAAM;IAKtD,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5C,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,EAAE,SAAK;IAS9E,eAAe,CAAC,GAAG,EAAE,MAAM;IAWjC,KAAK;;;sCAG6B,SAAS;;;;sCAOT,SAAS;;;;gCAOf,SAAS;;;;uCAOF,SAAS;;;;sCAOV,SAAS;;;;sCAOT,SAAS;;;;gCAOf,SAAS;;;;gCAQT,SAAS;;;;+BAQhB,SAAS;;;;sCAOF,SAAS;;MAMnC;CACF"}
1
+ {"version":3,"file":"AStorage.d.ts","sourceRoot":"","sources":["../src/AStorage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAGzE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAe,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAiB,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,0FAA0F;IAC1F,mBAAmB,EAAE,MAAM,CAAC;IAC5B,wFAAwF;IACxF,gBAAgB,EAAE,MAAM,CAAC;CACzB;AAED,8BAAsB,QAAS,SAAQ,QAAQ;IAC9C,WAAW,SAA0D;IAErE,IAAI,YAAwB;IAC5B,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS;IAC3D,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAC/B,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IACnD,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,IAAI;IAE/E,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAS1C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,EAAE,UAAU;IAQ9E,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IACjC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAClC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAErC;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE;IAItD,OAAO,mKAAkB;IAGnB,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,CAAC,EAAE,MAAM;IAM5D;;;OAGG;IACH,mBAAmB,IAAI,MAAM;IAK7B;;;;;;;OAOG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAgB3H,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,EAAE,SAAK;IAM9E,eAAe,CAAC,GAAG,EAAE,MAAM;IAWjC,KAAK;;;sCAG6B,SAAS;;;;sCAOT,SAAS;;;;gCAOf,SAAS;;;;uCAOF,SAAS;;;;sCAOV,SAAS;;;;sCAOT,SAAS;;;;gCAOf,SAAS;;;;gCAQT,SAAS;;;;+BAQhB,SAAS;;;;sCAOF,SAAS;;MAMnC;CACF"}
package/build/AStorage.js CHANGED
@@ -1,40 +1,12 @@
1
- import { resolve } from 'path';
2
- import { pathToFileURL } from 'url';
3
- import { CAPTURE, OK } from '@haibun/core/lib/defs.js';
1
+ import { resolve, relative } from 'path';
2
+ import { OK } from '@haibun/core/schema/protocol.js';
4
3
  import { captureLocator } from '@haibun/core/lib/capture-locator.js';
5
4
  import { actionNotOK } from '@haibun/core/lib/util/index.js';
6
- import { guessMediaType } from './domain-storage.js';
7
5
  import { EMediaTypes } from './media-types.js';
8
- import { AStepper } from '@haibun/core/lib/astepper.js';
6
+ import { AStepper, StepperKinds, } from "@haibun/core/lib/astepper.js";
9
7
  export class AStorage extends AStepper {
10
- async readFlat(dir, filter) {
11
- const entries = await this.readdirStat(dir);
12
- const tree = [];
13
- for (const e of entries) {
14
- if (e.isDirectory) {
15
- const sub = await this.readFlat(e.name.replace(/^\/\//, '/'), filter);
16
- tree.push(...sub);
17
- }
18
- else if (!filter || e.name.match(filter)) {
19
- tree.push(e);
20
- }
21
- }
22
- return tree;
23
- }
24
- async readTree(dir, filter) {
25
- const entries = await this.readdirStat(dir);
26
- const tree = [];
27
- for (const e of entries) {
28
- if (e.isDirectory) {
29
- const sub = await this.readTree(e.name.replace(/^\/\//, '/'), filter);
30
- tree.push({ ...e, entries: sub });
31
- }
32
- else if (!filter || e.name.match(filter)) {
33
- tree.push(e);
34
- }
35
- }
36
- return tree;
37
- }
8
+ description = 'Create files, directories, and manage test artifacts';
9
+ kind = StepperKinds.STORAGE;
38
10
  async readdirStat(dir) {
39
11
  const files = await this.readdir(dir);
40
12
  const mapped = [];
@@ -52,9 +24,6 @@ export class AStorage extends AStepper {
52
24
  await this.writeFileBuffer(file, contents, mediaType);
53
25
  }
54
26
  }
55
- fromCaptureLocation(mediaType, ...where) {
56
- return this.fromLocation(mediaType, ...[`./${CAPTURE}`, ...where]);
57
- }
58
27
  /**
59
28
  * Returns a storage specific resolved path for a given media type.
60
29
  * Overload this where slash directory conventions aren't used.
@@ -63,30 +32,44 @@ export class AStorage extends AStepper {
63
32
  return where.map((w) => w.replace(/\/$/, '')).join('/');
64
33
  }
65
34
  locator = captureLocator;
66
- async getRelativePath(pathIn) {
67
- if (!pathIn) {
68
- return undefined;
69
- }
70
- const mediaType = guessMediaType(pathIn);
71
- const loc = resolve(await this.getCaptureLocation({ ...this.world, mediaType }));
72
- return pathIn.replace(loc, '.');
73
- }
74
35
  // biome-ignore lint/suspicious/useAwait: may be async in some implementations
75
36
  async getCaptureLocation(loc, app) {
76
37
  const { tag } = loc;
77
38
  const location = this.locator(loc.options, tag, app);
78
39
  return Promise.resolve(location);
79
40
  }
80
- async runtimePath(world) {
81
- return pathToFileURL(await this.getCaptureLocation({ ...(world || this.world), mediaType: EMediaTypes.html })).pathname;
41
+ /**
42
+ * Get base artifact path (capture/DEST/key) without seq/featn.
43
+ * Used for HTTP servers that serve artifacts from all features.
44
+ */
45
+ getArtifactBasePath() {
46
+ const { tag, options } = this.world;
47
+ return `./capture/${options.DEST || 'default'}/${tag.key}`;
48
+ }
49
+ /**
50
+ * Save an artifact and return paths for different consumption contexts.
51
+ * Uses this.world for tag/options - caller must ensure storage world is in sync.
52
+ * @param filename - The filename to save as
53
+ * @param contents - File contents (Buffer or string)
54
+ * @param mediaType - Media type for proper handling
55
+ * @param subpath - Optional subdirectory (e.g., 'image', 'video')
56
+ */
57
+ async saveArtifact(filename, contents, mediaType, subpath) {
58
+ const loc = { ...this.world, mediaType };
59
+ const dir = await this.ensureCaptureLocation(loc, subpath);
60
+ const absolutePath = resolve(dir, filename);
61
+ await this.writeFile(absolutePath, contents, mediaType);
62
+ // Feature-relative path for serialized HTML
63
+ const featureRelativePath = subpath ? `./${subpath}/${filename}` : `./${filename}`;
64
+ // Base-relative path for live server (includes featn-N)
65
+ const basePath = this.getArtifactBasePath();
66
+ const baseRelativePath = relative(resolve(basePath), absolutePath);
67
+ return { absolutePath, featureRelativePath, baseRelativePath };
82
68
  }
83
69
  async ensureCaptureLocation(loc, app, fn = '') {
84
- if (loc.tag.sequence < 0) {
85
- return;
86
- }
87
70
  const dir = await this.getCaptureLocation(loc, app);
88
71
  await this.ensureDirExists(dir);
89
- return `${dir}/${fn}`;
72
+ return fn ? `${dir}/${fn}` : dir;
90
73
  }
91
74
  // biome-ignore lint/suspicious/useAwait: may be async in some implementations
92
75
  async ensureDirExists(dir) {
@@ -147,7 +130,7 @@ export class AStorage extends AStepper {
147
130
  gwta: `read text from {where}`,
148
131
  action: async ({ where }) => {
149
132
  const text = await this.readFile(String(where), 'utf-8');
150
- this.getWorld().logger.info(text);
133
+ this.getWorld().eventLogger.info(String(text));
151
134
  return OK;
152
135
  },
153
136
  },
@@ -155,7 +138,7 @@ export class AStorage extends AStepper {
155
138
  gwta: `list files from {where}`,
156
139
  action: async ({ where }) => {
157
140
  const files = await this.readdir(String(where));
158
- this.getWorld().logger.info(`files from ${where}: ${files.join(', ')}`);
141
+ this.getWorld().eventLogger.info(`files from ${where}: ${files.join(', ')}`);
159
142
  return OK;
160
143
  },
161
144
  },
@@ -1 +1 @@
1
- {"version":3,"file":"AStorage.js","sourceRoot":"","sources":["../src/AStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AStorage.js","sourceRoot":"","sources":["../src/AStorage.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ export interface IFile {
13
13
  }
14
14
  declare const DomainStorage: {
15
15
  new (): {
16
+ description: string;
16
17
  locator: (location: string) => string;
17
18
  options: {
18
19
  BASE_DIRECTORY: {
@@ -28,8 +29,10 @@ declare const DomainStorage: {
28
29
  };
29
30
  steps: {};
30
31
  world?: import("@haibun/core/lib/defs.js").TWorld;
32
+ kind?: import("@haibun/core/lib/astepper.js").TStepperKind;
31
33
  setWorld(world: import("@haibun/core/lib/defs.js").TWorld, _steppers: AStepper[]): Promise<void>;
32
34
  getWorld(): import("@haibun/core/lib/defs.js").TWorld;
35
+ startFeatureResolution?(_path: string): void;
33
36
  };
34
37
  };
35
38
  export default DomainStorage;
@@ -1 +1 @@
1
- {"version":3,"file":"domain-storage.d.ts","sourceRoot":"","sources":["../src/domain-storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExE,OAAO,EAAE,UAAU,EAAmC,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAe,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAEhD,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAE3C,MAAM,WAAW,KAAK;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,QAAA,MAAM,aAAa;;kBACP,UAAU,MAAM;;;;+BAIV,MAAM;;;;;;;;;;;;;;CAKvB,CAAC;AAEF,eAAe,aAAa,CAAC;AAE7B,MAAM,MAAM,gBAAgB,GAAG;IAC9B,GAAG,EAAE,IAAI,CAAC;IACV,OAAO,EAAE,YAAY,CAAC;IACtB,aAAa,EAAE,cAAc,CAAC;IAC9B,SAAS,EAAE,UAAU,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,UAGzC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAGlC,UAAU,CAClB"}
1
+ {"version":3,"file":"domain-storage.d.ts","sourceRoot":"","sources":["../src/domain-storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExE,OAAO,EAAE,UAAU,EAAmC,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAe,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAEhD,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAE3C,MAAM,WAAW,KAAK;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,QAAA,MAAM,aAAa;;;kBAGP,UAAU,MAAM;;;;+BAIV,MAAM;;;;;;;;;;;;;;;;CAKvB,CAAC;AAEF,eAAe,aAAa,CAAC;AAE7B,MAAM,MAAM,gBAAgB,GAAG;IAC9B,GAAG,EAAE,IAAI,CAAC;IACV,OAAO,EAAE,YAAY,CAAC;IACtB,aAAa,EAAE,cAAc,CAAC;IAC9B,SAAS,EAAE,UAAU,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,UAGzC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAGlC,UAAU,CAClB"}
@@ -4,6 +4,7 @@ import { AStepper } from '@haibun/core/lib/astepper.js';
4
4
  export const STORAGE_LOCATION = 'STORAGE_LOCATION';
5
5
  export const STORAGE_ITEM = 'STORAGE_ITEM';
6
6
  const DomainStorage = class DomainStorage extends AStepper {
7
+ description = 'Storage domain types and file operations base';
7
8
  locator = (location) => `./${location}`;
8
9
  options = {
9
10
  BASE_DIRECTORY: {
@@ -1 +1 @@
1
- {"version":3,"file":"domain-storage.js","sourceRoot":"","sources":["../src/domain-storage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAc,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAe,MAAM,8BAA8B,CAAC;AAGrE,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AACnD,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC;AAU3C,MAAM,aAAa,GAAG,MAAM,aAAc,SAAQ,QAAQ;IACzD,OAAO,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC;IAChD,OAAO,GAAG;QACT,cAAc,EAAE;YACf,IAAI,EAAE,0BAA0B;YAChC,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;SAC9C;KACD,CAAC;IAEF,KAAK,GAAG,EAAE,CAAC;CACX,CAAC;AAEF,eAAe,aAAa,CAAC;AAS7B;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACzC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IAC1C,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,0BAA0B,CAAC;IACxE,OAAmB,SAAS,CAAC;AAC9B,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"domain-storage.js","sourceRoot":"","sources":["../src/domain-storage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAc,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAe,MAAM,8BAA8B,CAAC;AAGrE,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AACnD,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC;AAU3C,MAAM,aAAa,GAAG,MAAM,aAAc,SAAQ,QAAQ;IACzD,WAAW,GAAG,+CAA+C,CAAC;IAE9D,OAAO,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC;IAChD,OAAO,GAAG;QACT,cAAc,EAAE;YACf,IAAI,EAAE,0BAA0B;YAChC,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;SAC9C;KACD,CAAC;IAEF,KAAK,GAAG,EAAE,CAAC;CACX,CAAC;AAEF,eAAe,aAAa,CAAC;AAS7B;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACzC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IAC1C,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,0BAA0B,CAAC;IACxE,OAAmB,SAAS,CAAC;AAC9B,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AAC/C,CAAC"}
@@ -1,29 +1,4 @@
1
- export declare const MAPPED_MEDIA_TYPES: {
2
- js: string;
3
- javascript: string;
4
- css: string;
5
- html: string;
6
- json: string;
7
- png: string;
8
- jpg: string;
9
- jpeg: string;
10
- gif: string;
11
- svg: string;
12
- ogg: string;
13
- pdf: string;
14
- webm: string;
15
- weba: string;
16
- mp4: string;
17
- mp3: string;
18
- wav: string;
19
- ico: string;
20
- woff: string;
21
- woff2: string;
22
- ttf: string;
23
- otf: string;
24
- xml: string;
25
- '': string;
26
- };
1
+ export declare const MAPPED_MEDIA_TYPES: Record<string, string>;
27
2
  export declare const EMediaTypes: {
28
3
  readonly html: "html";
29
4
  readonly video: "video";
@@ -1 +1 @@
1
- {"version":3,"file":"media-types.d.ts","sourceRoot":"","sources":["../src/media-types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;CAyB9B,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;CAOd,CAAC;AAEX,eAAO,MAAM,WAAW,EAAE;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CAOlD,CAAC;AAIF,MAAM,MAAM,UAAU,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC"}
1
+ {"version":3,"file":"media-types.d.ts","sourceRoot":"","sources":["../src/media-types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAyBrD,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;CAOd,CAAC;AAEX,eAAO,MAAM,WAAW,EAAE;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CAOlD,CAAC;AAIF,MAAM,MAAM,UAAU,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"media-types.js","sourceRoot":"","sources":["../src/media-types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,EAAE,EAAE,iBAAiB;IACrB,UAAU,EAAE,iBAAiB;IAC7B,GAAG,EAAE,UAAU;IACf,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,kBAAkB;IACxB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,eAAe;IACpB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,iBAAiB;IACtB,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,cAAc;IACnB,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,YAAY;IACnB,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,UAAU;IAChB,GAAG,EAAE,UAAU;IACd,EAAE,EAAE,iBAAiB;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,EAAE;CACL,CAAC;AAEX,MAAM,CAAC,MAAM,WAAW,GAAgC;IACtD,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,WAAW;IAClB,EAAE,EAAE,YAAY;IAChB,EAAE,EAAE,iBAAiB;CACtB,CAAC"}
1
+ {"version":3,"file":"media-types.js","sourceRoot":"","sources":["../src/media-types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAA2B;IACxD,EAAE,EAAE,iBAAiB;IACrB,UAAU,EAAE,iBAAiB;IAC7B,GAAG,EAAE,UAAU;IACf,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,kBAAkB;IACxB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,eAAe;IACpB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,iBAAiB;IACtB,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,cAAc;IACnB,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,YAAY;IACnB,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,UAAU;IACf,EAAE,EAAE,iBAAiB;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,EAAE;CACL,CAAC;AAEX,MAAM,CAAC,MAAM,WAAW,GAAgC;IACtD,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,WAAW;IAClB,EAAE,EAAE,YAAY;IAChB,EAAE,EAAE,iBAAiB;CACtB,CAAC"}
package/package.json CHANGED
@@ -1,14 +1,18 @@
1
1
  {
2
2
  "name": "@haibun/domain-storage",
3
3
  "type": "module",
4
- "version": "3.1.1",
4
+ "version": "3.3.0",
5
5
  "description": "",
6
6
  "author": "",
7
7
  "main": "index.js",
8
- "files": ["build/**"],
9
- "exports": { ".": "./build/domain-storage.js", "./*": "./build/*" },
8
+ "files": [
9
+ "build/**"
10
+ ],
11
+ "exports": {
12
+ ".": "./build/domain-storage.js",
13
+ "./*": "./build/*"
14
+ },
10
15
  "scripts": {
11
- "format": "prettier --write \"src/**/*.ts\" \"src/**/*.js\"",
12
16
  "lint": "eslint -c .eslintrc.json --ext .ts,.js src",
13
17
  "test": "vitest run",
14
18
  "coverage": "vitest --coverage",
@@ -19,9 +23,10 @@
19
23
  "tsc": "tsc",
20
24
  "xprepare": "npm run build",
21
25
  "prepublishOnly": "tsc -b .",
22
- "preversion": "npm run lint",
23
- "xversion": "npm run format && git add -A src"
26
+ "preversion": "npm run lint"
27
+ },
28
+ "dependencies": {
29
+ "@haibun/core": "3.3.0"
24
30
  },
25
- "dependencies": { "@haibun/core": "3.1.1" },
26
31
  "gitHead": "7cf9680bd922fb622fb59f1e6bf5b65284cb8fd5"
27
- }
32
+ }