@norcy/react-native-toolkit 0.1.121 → 0.1.124

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 +1 @@
1
- {"version":3,"names":["getReadableVersion","DevConfig","BuildInPrefs","PrefData","semverGt","require","semverGte","semverCoerce","VersionInfo","currentAppVersion","version","latestAppVersion","currentBundleVersion","latestBundleVersion","VersionManager","init","_ref","addListenerOnce","getValue","CurrentBundleVersion","isDanger","__DEV__","hasValue","DevDanger","appVer","setBundleVer","bundleVer","setValue","hasNewAppVer","hasNewBundleVer","isValidVersion","minVer","maxVer","_minVer","_maxVer","trim"],"sources":["VersionManager.ts"],"sourcesContent":["import { getReadableVersion } from 'react-native-device-info';\nimport { DevConfig } from './DevConfig';\nimport { BuildInPrefs, PrefData } from './PrefData';\n\nconst semverGt = require('semver/functions/gt');\nconst semverGte = require('semver/functions/gte');\nconst semverCoerce = require('semver/functions/coerce');\n\nlet VersionInfo = {\n currentAppVersion: semverCoerce(getReadableVersion()).version,\n latestAppVersion: semverCoerce(getReadableVersion()).version,\n currentBundleVersion: 0,\n latestBundleVersion: 0,\n};\n\nexport const VersionManager = {\n init: ({\n latestAppVersion,\n latestBundleVersion,\n }: {\n latestAppVersion: string;\n latestBundleVersion?: string;\n }) => {\n if (latestAppVersion) {\n VersionInfo.latestAppVersion = semverCoerce(latestAppVersion).version;\n }\n\n if (latestBundleVersion) {\n VersionInfo.latestBundleVersion =\n semverCoerce(latestBundleVersion).version;\n }\n\n PrefData.addListenerOnce(() => {\n VersionInfo.currentBundleVersion = PrefData.getValue(\n BuildInPrefs.CurrentBundleVersion\n );\n });\n },\n\n isDanger: () => {\n if (__DEV__ && DevConfig.hasValue(BuildInPrefs.DevDanger)) {\n return DevConfig.getValue(BuildInPrefs.DevDanger);\n }\n // current > online,就危险\n if (semverGt(VersionInfo.currentAppVersion, VersionInfo.latestAppVersion)) {\n return true;\n }\n return false;\n },\n\n appVer: () => {\n return VersionInfo.currentAppVersion;\n },\n\n setBundleVer: (bundleVer: string) => {\n if (bundleVer) {\n VersionInfo.currentBundleVersion = semverCoerce(bundleVer).version;\n PrefData.setValue(\n BuildInPrefs.CurrentBundleVersion,\n VersionInfo.currentBundleVersion\n );\n }\n },\n\n bundleVer: () => {\n return VersionInfo.currentBundleVersion;\n },\n\n getReadableVersion: () => {\n return (\n VersionInfo.currentAppVersion +\n (VersionInfo.currentBundleVersion\n ? '(' + VersionInfo.currentBundleVersion + ')'\n : '')\n );\n },\n\n hasNewAppVer: () => {\n // online > current,才有新版本\n if (semverGt(VersionInfo.latestAppVersion, VersionInfo.currentAppVersion)) {\n return true;\n }\n return false;\n },\n\n hasNewBundleVer: () => {\n // latestBundleVersion 如果没命中,则为 0,此时判断为无新 Bundle\n if (\n semverGt(\n VersionInfo.latestBundleVersion,\n VersionInfo.currentBundleVersion\n )\n ) {\n return true;\n }\n return false;\n },\n\n isValidVersion: (minVer?: string, maxVer?: string) => {\n minVer = minVer?.trim();\n maxVer = maxVer?.trim();\n // 确保 cur 处于 [minVer, maxVer)\n if (\n !!minVer &&\n semverGt(semverCoerce(minVer).version, VersionManager.appVer())\n ) {\n return false;\n }\n if (\n !!maxVer &&\n semverGte(VersionManager.appVer(), semverCoerce(maxVer).version)\n ) {\n return false;\n }\n return true;\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["getReadableVersion","semverCoerce","semverGt","semverGte","DevConfig","BuildInPrefs","PrefData","safeCoerce","version","coerced","VersionInfo","currentAppVersion","latestAppVersion","currentBundleVersion","latestBundleVersion","VersionManager","init","_ref","Number","addListenerOnce","getValue","CurrentBundleVersion","isDanger","__DEV__","hasValue","DevDanger","appVer","setBundleVer","bundleVer","setValue","hasNewAppVer","hasNewBundleVer","isValidVersion","minVer","maxVer","_minVer","_maxVer","trim"],"sources":["VersionManager.ts"],"sourcesContent":["import { getReadableVersion } from 'react-native-device-info';\nimport semverCoerce from 'semver/functions/coerce';\nimport semverGt from 'semver/functions/gt';\nimport semverGte from 'semver/functions/gte';\nimport { DevConfig } from './DevConfig';\nimport { BuildInPrefs, PrefData } from './PrefData';\n\n// 辅助函数:安全获取版本\nconst safeCoerce = (version: string) => {\n const coerced = semverCoerce(version);\n return coerced ? coerced.version : '0.0.0';\n};\n\nlet VersionInfo = {\n currentAppVersion: safeCoerce(getReadableVersion()),\n latestAppVersion: safeCoerce(getReadableVersion()),\n currentBundleVersion: 0,\n latestBundleVersion: 0,\n};\n\nexport const VersionManager = {\n init: ({\n latestAppVersion,\n latestBundleVersion,\n }: {\n latestAppVersion: string;\n latestBundleVersion?: string;\n }) => {\n if (latestAppVersion) {\n VersionInfo.latestAppVersion = safeCoerce(latestAppVersion);\n }\n\n if (latestBundleVersion) {\n VersionInfo.latestBundleVersion = Number(latestBundleVersion);\n }\n\n PrefData.addListenerOnce(() => {\n VersionInfo.currentBundleVersion = PrefData.getValue(\n BuildInPrefs.CurrentBundleVersion\n );\n });\n },\n\n isDanger: () => {\n if (__DEV__ && DevConfig.hasValue(BuildInPrefs.DevDanger)) {\n return DevConfig.getValue(BuildInPrefs.DevDanger);\n }\n // current > online,就危险\n return semverGt(\n VersionInfo.currentAppVersion,\n VersionInfo.latestAppVersion\n );\n },\n\n appVer: () => {\n return VersionInfo.currentAppVersion;\n },\n\n setBundleVer: (bundleVer: string) => {\n if (bundleVer) {\n VersionInfo.currentBundleVersion = Number(bundleVer);\n PrefData.setValue(\n BuildInPrefs.CurrentBundleVersion,\n VersionInfo.currentBundleVersion\n );\n }\n },\n\n bundleVer: () => {\n return VersionInfo.currentBundleVersion;\n },\n\n getReadableVersion: () => {\n return (\n VersionInfo.currentAppVersion +\n (VersionInfo.currentBundleVersion\n ? '(' + VersionInfo.currentBundleVersion + ')'\n : '')\n );\n },\n\n hasNewAppVer: () => {\n // online > current,才有新版本\n return semverGt(\n VersionInfo.latestAppVersion,\n VersionInfo.currentAppVersion\n );\n },\n\n hasNewBundleVer: () => {\n // latestBundleVersion 如果没命中,则为 0,此时判断为无新 Bundle\n return VersionInfo.latestBundleVersion > VersionInfo.currentBundleVersion;\n },\n\n isValidVersion: (minVer?: string, maxVer?: string) => {\n minVer = minVer?.trim();\n maxVer = maxVer?.trim();\n // 确保 cur 处于 [minVer, maxVer)\n if (!!minVer && semverGt(safeCoerce(minVer), VersionManager.appVer())) {\n return false;\n }\n if (!!maxVer && semverGte(VersionManager.appVer(), safeCoerce(maxVer))) {\n return false;\n }\n return true;\n },\n};\n"],"mappings":"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"}
@@ -4,7 +4,7 @@ export declare const VersionManager: {
4
4
  latestBundleVersion?: string | undefined;
5
5
  }) => void;
6
6
  isDanger: () => any;
7
- appVer: () => any;
7
+ appVer: () => string;
8
8
  setBundleVer: (bundleVer: string) => void;
9
9
  bundleVer: () => number;
10
10
  getReadableVersion: () => string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@norcy/react-native-toolkit",
3
- "version": "0.1.121",
3
+ "version": "0.1.124",
4
4
  "description": "My Toolkit",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -44,7 +44,9 @@ const handleVersionInfo = () => {
44
44
  latestAppVersion: ConfigDataModel.get(
45
45
  Platform.OS === 'android' ? 'aov' : 'ov'
46
46
  ),
47
- latestBundleVersion: ConfigDataModel.get('bov'),
47
+ latestBundleVersion: ConfigDataModel.get(
48
+ Platform.OS === 'android' ? 'abov' : 'bov'
49
+ ),
48
50
  });
49
51
  };
50
52
 
@@ -1,6 +1,5 @@
1
1
  import { Object } from 'leancloud-storage';
2
2
  import { Platform } from 'react-native';
3
- import { getReadableVersion } from 'react-native-device-info';
4
3
  import { ConfigDataModel } from './ConfigDataModel';
5
4
  import { FreConfigType, FrequenceManager } from './Frequence';
6
5
  import { LoginManager, LoginResultDataType } from './LoginManager';
@@ -13,9 +12,6 @@ import { VipManager } from './VipManager';
13
12
  const AV = require('leancloud-storage');
14
13
  const EventEmitter = require('events').EventEmitter;
15
14
  const eventEmitter = new EventEmitter();
16
- const semverGt = require('semver/functions/gt');
17
- const semverGte = require('semver/functions/gte');
18
- const semverCoerce = require('semver/functions/coerce');
19
15
 
20
16
  export interface Message {
21
17
  objectId: string;
@@ -41,18 +37,10 @@ let MyMessages: Message[] = [];
41
37
 
42
38
  const _filterByVersion = (items: Message[]): Message[] => {
43
39
  let ret: Message[] = [];
44
- const curVer = semverCoerce(getReadableVersion()).version;
45
40
  for (const item of items) {
46
- const minVer = item.minVer?.trim();
47
- const maxVer = item.maxVer?.trim();
48
- // 确保 cur 处于 [minVer, maxVer)
49
- if (!!minVer && semverGt(semverCoerce(minVer).version, curVer)) {
41
+ if (!VersionManager.isValidVersion(item.minVer, item.maxVer)) {
50
42
  continue;
51
43
  }
52
- if (!!maxVer && semverGte(curVer, semverCoerce(maxVer).version)) {
53
- continue;
54
- }
55
-
56
44
  ret.push(item);
57
45
  }
58
46
  return ret;
@@ -1,14 +1,19 @@
1
1
  import { getReadableVersion } from 'react-native-device-info';
2
+ import semverCoerce from 'semver/functions/coerce';
3
+ import semverGt from 'semver/functions/gt';
4
+ import semverGte from 'semver/functions/gte';
2
5
  import { DevConfig } from './DevConfig';
3
6
  import { BuildInPrefs, PrefData } from './PrefData';
4
7
 
5
- const semverGt = require('semver/functions/gt');
6
- const semverGte = require('semver/functions/gte');
7
- const semverCoerce = require('semver/functions/coerce');
8
+ // 辅助函数:安全获取版本
9
+ const safeCoerce = (version: string) => {
10
+ const coerced = semverCoerce(version);
11
+ return coerced ? coerced.version : '0.0.0';
12
+ };
8
13
 
9
14
  let VersionInfo = {
10
- currentAppVersion: semverCoerce(getReadableVersion()).version,
11
- latestAppVersion: semverCoerce(getReadableVersion()).version,
15
+ currentAppVersion: safeCoerce(getReadableVersion()),
16
+ latestAppVersion: safeCoerce(getReadableVersion()),
12
17
  currentBundleVersion: 0,
13
18
  latestBundleVersion: 0,
14
19
  };
@@ -22,12 +27,11 @@ export const VersionManager = {
22
27
  latestBundleVersion?: string;
23
28
  }) => {
24
29
  if (latestAppVersion) {
25
- VersionInfo.latestAppVersion = semverCoerce(latestAppVersion).version;
30
+ VersionInfo.latestAppVersion = safeCoerce(latestAppVersion);
26
31
  }
27
32
 
28
33
  if (latestBundleVersion) {
29
- VersionInfo.latestBundleVersion =
30
- semverCoerce(latestBundleVersion).version;
34
+ VersionInfo.latestBundleVersion = Number(latestBundleVersion);
31
35
  }
32
36
 
33
37
  PrefData.addListenerOnce(() => {
@@ -42,10 +46,10 @@ export const VersionManager = {
42
46
  return DevConfig.getValue(BuildInPrefs.DevDanger);
43
47
  }
44
48
  // current > online,就危险
45
- if (semverGt(VersionInfo.currentAppVersion, VersionInfo.latestAppVersion)) {
46
- return true;
47
- }
48
- return false;
49
+ return semverGt(
50
+ VersionInfo.currentAppVersion,
51
+ VersionInfo.latestAppVersion
52
+ );
49
53
  },
50
54
 
51
55
  appVer: () => {
@@ -54,7 +58,7 @@ export const VersionManager = {
54
58
 
55
59
  setBundleVer: (bundleVer: string) => {
56
60
  if (bundleVer) {
57
- VersionInfo.currentBundleVersion = semverCoerce(bundleVer).version;
61
+ VersionInfo.currentBundleVersion = Number(bundleVer);
58
62
  PrefData.setValue(
59
63
  BuildInPrefs.CurrentBundleVersion,
60
64
  VersionInfo.currentBundleVersion
@@ -77,39 +81,25 @@ export const VersionManager = {
77
81
 
78
82
  hasNewAppVer: () => {
79
83
  // online > current,才有新版本
80
- if (semverGt(VersionInfo.latestAppVersion, VersionInfo.currentAppVersion)) {
81
- return true;
82
- }
83
- return false;
84
+ return semverGt(
85
+ VersionInfo.latestAppVersion,
86
+ VersionInfo.currentAppVersion
87
+ );
84
88
  },
85
89
 
86
90
  hasNewBundleVer: () => {
87
91
  // latestBundleVersion 如果没命中,则为 0,此时判断为无新 Bundle
88
- if (
89
- semverGt(
90
- VersionInfo.latestBundleVersion,
91
- VersionInfo.currentBundleVersion
92
- )
93
- ) {
94
- return true;
95
- }
96
- return false;
92
+ return VersionInfo.latestBundleVersion > VersionInfo.currentBundleVersion;
97
93
  },
98
94
 
99
95
  isValidVersion: (minVer?: string, maxVer?: string) => {
100
96
  minVer = minVer?.trim();
101
97
  maxVer = maxVer?.trim();
102
- // 确保 cur 处于 [minVer, maxVer)
103
- if (
104
- !!minVer &&
105
- semverGt(semverCoerce(minVer).version, VersionManager.appVer())
106
- ) {
98
+ // 确保 cur 处于 [minVer, maxVer)
99
+ if (!!minVer && semverGt(safeCoerce(minVer), VersionManager.appVer())) {
107
100
  return false;
108
101
  }
109
- if (
110
- !!maxVer &&
111
- semverGte(VersionManager.appVer(), semverCoerce(maxVer).version)
112
- ) {
102
+ if (!!maxVer && semverGte(VersionManager.appVer(), safeCoerce(maxVer))) {
113
103
  return false;
114
104
  }
115
105
  return true;