@jayfong/x-server 1.27.4 → 1.28.2

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/CHANGELOG.md CHANGED
@@ -2,6 +2,27 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [1.28.2](https://github.com/jfWorks/x-server/compare/v1.28.1...v1.28.2) (2022-05-16)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * rhel-openssl-1.1.x ([c2a752a](https://github.com/jfWorks/x-server/commit/c2a752a2c06e8a1e37c3c72154d5f21d801de8a2))
11
+
12
+ ### [1.28.1](https://github.com/jfWorks/x-server/compare/v1.28.0...v1.28.1) (2022-05-16)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * rhel-openssl-1.1.x ([38bbf2f](https://github.com/jfWorks/x-server/commit/38bbf2ff3b1b22eaf37eebb7bca5bc95ee8c90a0))
18
+
19
+ ## [1.28.0](https://github.com/jfWorks/x-server/compare/v1.27.4...v1.28.0) (2022-05-15)
20
+
21
+
22
+ ### Features
23
+
24
+ * **cache:** add rememberMany ([d6460d3](https://github.com/jfWorks/x-server/commit/d6460d363000700745834c02d145ec86658400d1))
25
+
5
26
  ### [1.27.4](https://github.com/jfWorks/x-server/compare/v1.27.3...v1.27.4) (2022-05-15)
6
27
 
7
28
 
@@ -123,12 +123,12 @@ class BuildUtil {
123
123
  const prismaSchemaFile = _nodePath.default.join(options.cwd, 'src/db/schema.prisma');
124
124
 
125
125
  if (await _fsExtra.default.pathExists(prismaSchemaFile)) {
126
- // 下载 centos (rhel-openssl-1.0.x) 的可执行文件
126
+ // 下载 centos (rhel-openssl-1.0.x,rhel-openssl-1.1.x) 的可执行文件
127
127
  await (0, _execa.default)('tbify', ['node', require.resolve('@prisma/engines/download/index.js')], {
128
128
  env: {
129
129
  // https://www.prisma.io/docs/reference/api-reference/environment-variables-reference#prisma_cli_binary_targets
130
130
  // https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference#binarytargets-options
131
- PRISMA_CLI_BINARY_TARGETS: `${_os.default.platform() === 'darwin' ? 'darwin' : 'windows'},rhel-openssl-1.0.x`
131
+ PRISMA_CLI_BINARY_TARGETS: `${_os.default.platform() === 'darwin' ? 'darwin' : 'windows'},rhel-openssl-1.0.x,rhel-openssl-1.1.x`
132
132
  }
133
133
  });
134
134
 
@@ -136,6 +136,7 @@ class BuildUtil {
136
136
 
137
137
  await _fsExtra.default.copyFile(prismaSchemaFile, distPrismaSchemaFile);
138
138
  await _fsExtra.default.copyFile(require.resolve('@prisma/engines/libquery_engine-rhel-openssl-1.0.x.so.node'), _nodePath.default.join(distDir, 'libquery_engine-rhel-openssl-1.0.x.so.node'));
139
+ await _fsExtra.default.copyFile(require.resolve('@prisma/engines/libquery_engine-rhel-openssl-1.1.x.so.node'), _nodePath.default.join(distDir, 'libquery_engine-rhel-openssl-1.1.x.so.node'));
139
140
  } // 写入 pkg
140
141
 
141
142
 
@@ -115,6 +115,28 @@ class CacheService {
115
115
 
116
116
  return value;
117
117
  }
118
+
119
+ async rememberMany(raws, key, action, ttl = this.options.ttl) {
120
+ const keys = raws.map(key);
121
+ const values = await this.getMany(...keys);
122
+ const shouldUpdateIndexes = [];
123
+
124
+ for (let i = 0, len = values.length; i < len; i++) {
125
+ if (values[i] === null) {
126
+ shouldUpdateIndexes.push(i);
127
+ }
128
+ }
129
+
130
+ if (shouldUpdateIndexes.length) {
131
+ const nextValues = await action(shouldUpdateIndexes.map(i => raws[i]));
132
+ await Promise.all(nextValues.map(async (nextValue, index) => {
133
+ values[shouldUpdateIndexes[index]] = nextValue;
134
+ await this.set(keys[shouldUpdateIndexes[index]], nextValue, ttl);
135
+ }));
136
+ }
137
+
138
+ return values;
139
+ }
118
140
  /**
119
141
  * 自增。
120
142
  *
@@ -99,17 +99,18 @@ export class BuildUtil {
99
99
  const prismaSchemaFile = path.join(options.cwd, 'src/db/schema.prisma');
100
100
 
101
101
  if (await fs.pathExists(prismaSchemaFile)) {
102
- // 下载 centos (rhel-openssl-1.0.x) 的可执行文件
102
+ // 下载 centos (rhel-openssl-1.0.x,rhel-openssl-1.1.x) 的可执行文件
103
103
  await execa('tbify', ['node', require.resolve('@prisma/engines/download/index.js')], {
104
104
  env: {
105
105
  // https://www.prisma.io/docs/reference/api-reference/environment-variables-reference#prisma_cli_binary_targets
106
106
  // https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference#binarytargets-options
107
- PRISMA_CLI_BINARY_TARGETS: `${os.platform() === 'darwin' ? 'darwin' : 'windows'},rhel-openssl-1.0.x`
107
+ PRISMA_CLI_BINARY_TARGETS: `${os.platform() === 'darwin' ? 'darwin' : 'windows'},rhel-openssl-1.0.x,rhel-openssl-1.1.x`
108
108
  }
109
109
  });
110
110
  const distPrismaSchemaFile = path.join(distDir, 'schema.prisma');
111
111
  await fs.copyFile(prismaSchemaFile, distPrismaSchemaFile);
112
112
  await fs.copyFile(require.resolve('@prisma/engines/libquery_engine-rhel-openssl-1.0.x.so.node'), path.join(distDir, 'libquery_engine-rhel-openssl-1.0.x.so.node'));
113
+ await fs.copyFile(require.resolve('@prisma/engines/libquery_engine-rhel-openssl-1.1.x.so.node'), path.join(distDir, 'libquery_engine-rhel-openssl-1.1.x.so.node'));
113
114
  } // 写入 pkg
114
115
 
115
116
 
@@ -61,6 +61,7 @@ export declare class CacheService<TData extends Data = Data, TKey extends Key<TD
61
61
  * @returns 返回获取到的内容
62
62
  */
63
63
  remember<K extends TKeyPath, V extends Value<TData, K>>(key: K, action: () => V | Promise<V>, ttl?: MsValue | ((data: V, defaultTTL: MsValue) => MsValue)): Promise<V>;
64
+ rememberMany<T, K extends TKeyPath, V extends Value<TData, K>>(raws: T[], key: (raw: T) => K, action: (raws: T[]) => V[] | Promise<V[]>, ttl?: MsValue | ((data: V, defaultTTL: MsValue) => MsValue)): Promise<V[]>;
64
65
  /**
65
66
  * 自增。
66
67
  *
@@ -105,6 +105,28 @@ export class CacheService {
105
105
 
106
106
  return value;
107
107
  }
108
+
109
+ async rememberMany(raws, key, action, ttl = this.options.ttl) {
110
+ const keys = raws.map(key);
111
+ const values = await this.getMany(...keys);
112
+ const shouldUpdateIndexes = [];
113
+
114
+ for (let i = 0, len = values.length; i < len; i++) {
115
+ if (values[i] === null) {
116
+ shouldUpdateIndexes.push(i);
117
+ }
118
+ }
119
+
120
+ if (shouldUpdateIndexes.length) {
121
+ const nextValues = await action(shouldUpdateIndexes.map(i => raws[i]));
122
+ await Promise.all(nextValues.map(async (nextValue, index) => {
123
+ values[shouldUpdateIndexes[index]] = nextValue;
124
+ await this.set(keys[shouldUpdateIndexes[index]], nextValue, ttl);
125
+ }));
126
+ }
127
+
128
+ return values;
129
+ }
108
130
  /**
109
131
  * 自增。
110
132
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jayfong/x-server",
3
- "version": "1.27.4",
3
+ "version": "1.28.2",
4
4
  "license": "ISC",
5
5
  "sideEffects": false,
6
6
  "main": "lib/_cjs/index.js",