MCPcopy Index your code
hub / github.com/scriptscat/scriptcat / writeResource

Method writeResource

src/pkg/backup/export.ts:62–82  ·  view source on GitHub ↗
(
    filename: string,
    resources: ResourceBackup[],
    type: "resources" | "requires" | "requires.css",
    fileOpts: FileCreateOptions
  )

Source from the content-addressed store, hash-verified

60 }
61
62 writeResource(
63 filename: string,
64 resources: ResourceBackup[],
65 type: "resources" | "requires" | "requires.css",
66 fileOpts: FileCreateOptions
67 ): Promise<void>[] {
68 return resources.flatMap((item) => {
69 // md5是tm的导出规则
70 const md5 = md5OfText(`${type}{val.meta.url}`);
71 const writeSource = item.source || base64ToBlob(item.base64);
72 const writeMeta = JSON.stringify(item.meta);
73 return [
74 this.fs
75 .create(`${filename}.user.js-${md5}-${item.meta.name}`, fileOpts)
76 .then((fileWriter) => fileWriter.write(writeSource)),
77 this.fs
78 .create(`${filename}.user.js-${md5}-${item.meta.name}.${type}.json`, fileOpts)
79 .then((fileWriter) => fileWriter.write(writeMeta)),
80 ];
81 });
82 }
83
84 writeSubscribe(subscribe: SubscribeBackupData): Promise<void>[] {
85 const { name } = subscribe.options!.meta;

Callers 1

writeScriptMethod · 0.95

Calls 4

md5OfTextFunction · 0.90
base64ToBlobFunction · 0.90
createMethod · 0.65
writeMethod · 0.65

Tested by

no test coverage detected