@norcy/react-native-toolkit 0.1.26 → 0.1.27

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.
@@ -9,7 +9,12 @@ var _PrefData = require("./PrefData");
9
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
10
  const AppBadgeContext = exports.AppBadgeContext = /*#__PURE__*/_react.default.createContext({
11
11
  appBadgeValue: [],
12
- setAppBadgeValue: () => {}
12
+ setAppBadgeValue: () => {},
13
+ initBadge: () => {},
14
+ clearBadge: () => {},
15
+ hasBadge: () => {
16
+ return null;
17
+ }
13
18
  });
14
19
  const AppBadgeHelper = exports.AppBadgeHelper = {
15
20
  initBadge: (context, badges) => {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_PrefData","obj","__esModule","default","AppBadgeContext","exports","React","createContext","appBadgeValue","setAppBadgeValue","AppBadgeHelper","initBadge","context","badges","PrefData","addListener","clearedBadges","getValue","BuildInPrefs","ClearBadge","allBadges","keys","Object","key","badge","push","console","log","_calculateValidBadge","result","i","length","includes","clearBadge","scene","hasBadge","clearBadges","setValue"],"sources":["AppBadgeContext.ts"],"sourcesContent":["import React from 'react';\nimport { BuildInPrefs, PrefData } from './PrefData';\n\ninterface AppBadgeContextType {\n appBadgeValue: string[];\n setAppBadgeValue: Function;\n}\nexport const AppBadgeContext = React.createContext<AppBadgeContextType>({\n appBadgeValue: [],\n setAppBadgeValue: () => {},\n});\n\nexport interface BadgeType {\n key: string;\n}\n\nexport const AppBadgeHelper = {\n initBadge: (\n context: AppBadgeContextType,\n badges: { [key: string]: BadgeType }\n ) => {\n PrefData.addListener(() => {\n const clearedBadges = PrefData.getValue(BuildInPrefs.ClearBadge);\n // 收集 Key 值\n let allBadges = [];\n const keys = Object.keys(badges);\n for (const key of keys) {\n const badge = badges[key];\n // 动态占位的 key 值不存在,不应该被添加\n if (badge.key) {\n allBadges.push(badge.key);\n }\n }\n console.log('allBadges', allBadges);\n\n // 内存更新\n AppBadgeHelper._calculateValidBadge(context, allBadges, clearedBadges);\n });\n },\n\n // 最新红点 = appBadgs - clearedBadges\n _calculateValidBadge: (\n context: AppBadgeContextType,\n allBadges: string[],\n clearedBadges: string[]\n ) => {\n let result = [];\n for (let i = 0; i < allBadges.length; ++i) {\n const badge = allBadges[i];\n // 展示过一次的就不再展示\n if (!clearedBadges.includes(badge)) {\n result.push(badge);\n }\n }\n console.log('current badge', result);\n context.setAppBadgeValue(result);\n },\n\n clearBadge: (context: AppBadgeContextType, scene: BadgeType) => {\n // 内存判断\n if (!AppBadgeHelper.hasBadge(context, scene)) {\n return;\n }\n\n // 内存更新\n AppBadgeHelper._calculateValidBadge(\n context,\n [...context.appBadgeValue], // 必须深复制一下,不然不会引起 state 变化\n [scene.key]\n );\n\n // 硬盘更新\n let clearBadges = PrefData.getValue(BuildInPrefs.ClearBadge);\n if (!clearBadges.includes(scene.key)) {\n clearBadges.push(scene.key);\n PrefData.setValue(BuildInPrefs.ClearBadge, clearBadges);\n }\n },\n\n hasBadge: (context: AppBadgeContextType, scene: BadgeType) => {\n return context.appBadgeValue.includes(scene?.key) ? true : null;\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_PrefData","obj","__esModule","default","AppBadgeContext","exports","React","createContext","appBadgeValue","setAppBadgeValue","initBadge","clearBadge","hasBadge","AppBadgeHelper","context","badges","PrefData","addListener","clearedBadges","getValue","BuildInPrefs","ClearBadge","allBadges","keys","Object","key","badge","push","console","log","_calculateValidBadge","result","i","length","includes","scene","clearBadges","setValue"],"sources":["AppBadgeContext.ts"],"sourcesContent":["import React from 'react';\nimport { BuildInPrefs, PrefData } from './PrefData';\n\ninterface AppBadgeContextType {\n appBadgeValue: string[];\n setAppBadgeValue: Function;\n initBadge: (\n context: AppBadgeContextType,\n badges: {\n [key: string]: BadgeType;\n }\n ) => void;\n clearBadge: (context: AppBadgeContextType, scene: BadgeType) => void;\n hasBadge: (context: AppBadgeContextType, scene: BadgeType) => true | null;\n}\nexport const AppBadgeContext = React.createContext<AppBadgeContextType>({\n appBadgeValue: [],\n setAppBadgeValue: () => {},\n initBadge: () => {},\n clearBadge: () => {},\n hasBadge: () => {\n return null;\n },\n});\n\nexport interface BadgeType {\n key: string;\n}\n\nexport const AppBadgeHelper = {\n initBadge: (\n context: AppBadgeContextType,\n badges: { [key: string]: BadgeType }\n ) => {\n PrefData.addListener(() => {\n const clearedBadges = PrefData.getValue(BuildInPrefs.ClearBadge);\n // 收集 Key 值\n let allBadges = [];\n const keys = Object.keys(badges);\n for (const key of keys) {\n const badge = badges[key];\n // 动态占位的 key 值不存在,不应该被添加\n if (badge.key) {\n allBadges.push(badge.key);\n }\n }\n console.log('allBadges', allBadges);\n\n // 内存更新\n AppBadgeHelper._calculateValidBadge(context, allBadges, clearedBadges);\n });\n },\n\n // 最新红点 = appBadgs - clearedBadges\n _calculateValidBadge: (\n context: AppBadgeContextType,\n allBadges: string[],\n clearedBadges: string[]\n ) => {\n let result = [];\n for (let i = 0; i < allBadges.length; ++i) {\n const badge = allBadges[i];\n // 展示过一次的就不再展示\n if (!clearedBadges.includes(badge)) {\n result.push(badge);\n }\n }\n console.log('current badge', result);\n context.setAppBadgeValue(result);\n },\n\n clearBadge: (context: AppBadgeContextType, scene: BadgeType) => {\n // 内存判断\n if (!AppBadgeHelper.hasBadge(context, scene)) {\n return;\n }\n\n // 内存更新\n AppBadgeHelper._calculateValidBadge(\n context,\n [...context.appBadgeValue], // 必须深复制一下,不然不会引起 state 变化\n [scene.key]\n );\n\n // 硬盘更新\n let clearBadges = PrefData.getValue(BuildInPrefs.ClearBadge);\n if (!clearBadges.includes(scene.key)) {\n clearBadges.push(scene.key);\n PrefData.setValue(BuildInPrefs.ClearBadge, clearBadges);\n }\n },\n\n hasBadge: (context: AppBadgeContextType, scene: BadgeType) => {\n return context.appBadgeValue.includes(scene?.key) ? true : null;\n },\n};\n"],"mappings":"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"}
@@ -2,7 +2,12 @@ import React from 'react';
2
2
  import { BuildInPrefs, PrefData } from './PrefData';
3
3
  export const AppBadgeContext = /*#__PURE__*/React.createContext({
4
4
  appBadgeValue: [],
5
- setAppBadgeValue: () => {}
5
+ setAppBadgeValue: () => {},
6
+ initBadge: () => {},
7
+ clearBadge: () => {},
8
+ hasBadge: () => {
9
+ return null;
10
+ }
6
11
  });
7
12
  export const AppBadgeHelper = {
8
13
  initBadge: (context, badges) => {
@@ -1 +1 @@
1
- {"version":3,"names":["React","BuildInPrefs","PrefData","AppBadgeContext","createContext","appBadgeValue","setAppBadgeValue","AppBadgeHelper","initBadge","context","badges","addListener","clearedBadges","getValue","ClearBadge","allBadges","keys","Object","key","badge","push","console","log","_calculateValidBadge","result","i","length","includes","clearBadge","scene","hasBadge","clearBadges","setValue"],"sources":["AppBadgeContext.ts"],"sourcesContent":["import React from 'react';\nimport { BuildInPrefs, PrefData } from './PrefData';\n\ninterface AppBadgeContextType {\n appBadgeValue: string[];\n setAppBadgeValue: Function;\n}\nexport const AppBadgeContext = React.createContext<AppBadgeContextType>({\n appBadgeValue: [],\n setAppBadgeValue: () => {},\n});\n\nexport interface BadgeType {\n key: string;\n}\n\nexport const AppBadgeHelper = {\n initBadge: (\n context: AppBadgeContextType,\n badges: { [key: string]: BadgeType }\n ) => {\n PrefData.addListener(() => {\n const clearedBadges = PrefData.getValue(BuildInPrefs.ClearBadge);\n // 收集 Key 值\n let allBadges = [];\n const keys = Object.keys(badges);\n for (const key of keys) {\n const badge = badges[key];\n // 动态占位的 key 值不存在,不应该被添加\n if (badge.key) {\n allBadges.push(badge.key);\n }\n }\n console.log('allBadges', allBadges);\n\n // 内存更新\n AppBadgeHelper._calculateValidBadge(context, allBadges, clearedBadges);\n });\n },\n\n // 最新红点 = appBadgs - clearedBadges\n _calculateValidBadge: (\n context: AppBadgeContextType,\n allBadges: string[],\n clearedBadges: string[]\n ) => {\n let result = [];\n for (let i = 0; i < allBadges.length; ++i) {\n const badge = allBadges[i];\n // 展示过一次的就不再展示\n if (!clearedBadges.includes(badge)) {\n result.push(badge);\n }\n }\n console.log('current badge', result);\n context.setAppBadgeValue(result);\n },\n\n clearBadge: (context: AppBadgeContextType, scene: BadgeType) => {\n // 内存判断\n if (!AppBadgeHelper.hasBadge(context, scene)) {\n return;\n }\n\n // 内存更新\n AppBadgeHelper._calculateValidBadge(\n context,\n [...context.appBadgeValue], // 必须深复制一下,不然不会引起 state 变化\n [scene.key]\n );\n\n // 硬盘更新\n let clearBadges = PrefData.getValue(BuildInPrefs.ClearBadge);\n if (!clearBadges.includes(scene.key)) {\n clearBadges.push(scene.key);\n PrefData.setValue(BuildInPrefs.ClearBadge, clearBadges);\n }\n },\n\n hasBadge: (context: AppBadgeContextType, scene: BadgeType) => {\n return context.appBadgeValue.includes(scene?.key) ? true : null;\n },\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,EAAEC,QAAQ,QAAQ,YAAY;AAMnD,OAAO,MAAMC,eAAe,gBAAGH,KAAK,CAACI,aAAa,CAAsB;EACtEC,aAAa,EAAE,EAAE;EACjBC,gBAAgB,EAAEA,CAAA,KAAM,CAAC;AAC3B,CAAC,CAAC;AAMF,OAAO,MAAMC,cAAc,GAAG;EAC5BC,SAAS,EAAEA,CACTC,OAA4B,EAC5BC,MAAoC,KACjC;IACHR,QAAQ,CAACS,WAAW,CAAC,MAAM;MACzB,MAAMC,aAAa,GAAGV,QAAQ,CAACW,QAAQ,CAACZ,YAAY,CAACa,UAAU,CAAC;MAChE;MACA,IAAIC,SAAS,GAAG,EAAE;MAClB,MAAMC,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACN,MAAM,CAAC;MAChC,KAAK,MAAMQ,GAAG,IAAIF,IAAI,EAAE;QACtB,MAAMG,KAAK,GAAGT,MAAM,CAACQ,GAAG,CAAC;QACzB;QACA,IAAIC,KAAK,CAACD,GAAG,EAAE;UACbH,SAAS,CAACK,IAAI,CAACD,KAAK,CAACD,GAAG,CAAC;QAC3B;MACF;MACAG,OAAO,CAACC,GAAG,CAAC,WAAW,EAAEP,SAAS,CAAC;;MAEnC;MACAR,cAAc,CAACgB,oBAAoB,CAACd,OAAO,EAAEM,SAAS,EAAEH,aAAa,CAAC;IACxE,CAAC,CAAC;EACJ,CAAC;EAED;EACAW,oBAAoB,EAAEA,CACpBd,OAA4B,EAC5BM,SAAmB,EACnBH,aAAuB,KACpB;IACH,IAAIY,MAAM,GAAG,EAAE;IACf,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGV,SAAS,CAACW,MAAM,EAAE,EAAED,CAAC,EAAE;MACzC,MAAMN,KAAK,GAAGJ,SAAS,CAACU,CAAC,CAAC;MAC1B;MACA,IAAI,CAACb,aAAa,CAACe,QAAQ,CAACR,KAAK,CAAC,EAAE;QAClCK,MAAM,CAACJ,IAAI,CAACD,KAAK,CAAC;MACpB;IACF;IACAE,OAAO,CAACC,GAAG,CAAC,eAAe,EAAEE,MAAM,CAAC;IACpCf,OAAO,CAACH,gBAAgB,CAACkB,MAAM,CAAC;EAClC,CAAC;EAEDI,UAAU,EAAEA,CAACnB,OAA4B,EAAEoB,KAAgB,KAAK;IAC9D;IACA,IAAI,CAACtB,cAAc,CAACuB,QAAQ,CAACrB,OAAO,EAAEoB,KAAK,CAAC,EAAE;MAC5C;IACF;;IAEA;IACAtB,cAAc,CAACgB,oBAAoB,CACjCd,OAAO,EACP,CAAC,GAAGA,OAAO,CAACJ,aAAa,CAAC;IAAE;IAC5B,CAACwB,KAAK,CAACX,GAAG,CACZ,CAAC;;IAED;IACA,IAAIa,WAAW,GAAG7B,QAAQ,CAACW,QAAQ,CAACZ,YAAY,CAACa,UAAU,CAAC;IAC5D,IAAI,CAACiB,WAAW,CAACJ,QAAQ,CAACE,KAAK,CAACX,GAAG,CAAC,EAAE;MACpCa,WAAW,CAACX,IAAI,CAACS,KAAK,CAACX,GAAG,CAAC;MAC3BhB,QAAQ,CAAC8B,QAAQ,CAAC/B,YAAY,CAACa,UAAU,EAAEiB,WAAW,CAAC;IACzD;EACF,CAAC;EAEDD,QAAQ,EAAEA,CAACrB,OAA4B,EAAEoB,KAAgB,KAAK;IAC5D,OAAOpB,OAAO,CAACJ,aAAa,CAACsB,QAAQ,CAACE,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEX,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI;EACjE;AACF,CAAC"}
1
+ {"version":3,"names":["React","BuildInPrefs","PrefData","AppBadgeContext","createContext","appBadgeValue","setAppBadgeValue","initBadge","clearBadge","hasBadge","AppBadgeHelper","context","badges","addListener","clearedBadges","getValue","ClearBadge","allBadges","keys","Object","key","badge","push","console","log","_calculateValidBadge","result","i","length","includes","scene","clearBadges","setValue"],"sources":["AppBadgeContext.ts"],"sourcesContent":["import React from 'react';\nimport { BuildInPrefs, PrefData } from './PrefData';\n\ninterface AppBadgeContextType {\n appBadgeValue: string[];\n setAppBadgeValue: Function;\n initBadge: (\n context: AppBadgeContextType,\n badges: {\n [key: string]: BadgeType;\n }\n ) => void;\n clearBadge: (context: AppBadgeContextType, scene: BadgeType) => void;\n hasBadge: (context: AppBadgeContextType, scene: BadgeType) => true | null;\n}\nexport const AppBadgeContext = React.createContext<AppBadgeContextType>({\n appBadgeValue: [],\n setAppBadgeValue: () => {},\n initBadge: () => {},\n clearBadge: () => {},\n hasBadge: () => {\n return null;\n },\n});\n\nexport interface BadgeType {\n key: string;\n}\n\nexport const AppBadgeHelper = {\n initBadge: (\n context: AppBadgeContextType,\n badges: { [key: string]: BadgeType }\n ) => {\n PrefData.addListener(() => {\n const clearedBadges = PrefData.getValue(BuildInPrefs.ClearBadge);\n // 收集 Key 值\n let allBadges = [];\n const keys = Object.keys(badges);\n for (const key of keys) {\n const badge = badges[key];\n // 动态占位的 key 值不存在,不应该被添加\n if (badge.key) {\n allBadges.push(badge.key);\n }\n }\n console.log('allBadges', allBadges);\n\n // 内存更新\n AppBadgeHelper._calculateValidBadge(context, allBadges, clearedBadges);\n });\n },\n\n // 最新红点 = appBadgs - clearedBadges\n _calculateValidBadge: (\n context: AppBadgeContextType,\n allBadges: string[],\n clearedBadges: string[]\n ) => {\n let result = [];\n for (let i = 0; i < allBadges.length; ++i) {\n const badge = allBadges[i];\n // 展示过一次的就不再展示\n if (!clearedBadges.includes(badge)) {\n result.push(badge);\n }\n }\n console.log('current badge', result);\n context.setAppBadgeValue(result);\n },\n\n clearBadge: (context: AppBadgeContextType, scene: BadgeType) => {\n // 内存判断\n if (!AppBadgeHelper.hasBadge(context, scene)) {\n return;\n }\n\n // 内存更新\n AppBadgeHelper._calculateValidBadge(\n context,\n [...context.appBadgeValue], // 必须深复制一下,不然不会引起 state 变化\n [scene.key]\n );\n\n // 硬盘更新\n let clearBadges = PrefData.getValue(BuildInPrefs.ClearBadge);\n if (!clearBadges.includes(scene.key)) {\n clearBadges.push(scene.key);\n PrefData.setValue(BuildInPrefs.ClearBadge, clearBadges);\n }\n },\n\n hasBadge: (context: AppBadgeContextType, scene: BadgeType) => {\n return context.appBadgeValue.includes(scene?.key) ? true : null;\n },\n};\n"],"mappings":"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"}
@@ -2,6 +2,11 @@ import React from 'react';
2
2
  interface AppBadgeContextType {
3
3
  appBadgeValue: string[];
4
4
  setAppBadgeValue: Function;
5
+ initBadge: (context: AppBadgeContextType, badges: {
6
+ [key: string]: BadgeType;
7
+ }) => void;
8
+ clearBadge: (context: AppBadgeContextType, scene: BadgeType) => void;
9
+ hasBadge: (context: AppBadgeContextType, scene: BadgeType) => true | null;
5
10
  }
6
11
  export declare const AppBadgeContext: React.Context<AppBadgeContextType>;
7
12
  export interface BadgeType {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@norcy/react-native-toolkit",
3
- "version": "0.1.26",
3
+ "version": "0.1.27",
4
4
  "description": "My Toolkit",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -4,10 +4,23 @@ import { BuildInPrefs, PrefData } from './PrefData';
4
4
  interface AppBadgeContextType {
5
5
  appBadgeValue: string[];
6
6
  setAppBadgeValue: Function;
7
+ initBadge: (
8
+ context: AppBadgeContextType,
9
+ badges: {
10
+ [key: string]: BadgeType;
11
+ }
12
+ ) => void;
13
+ clearBadge: (context: AppBadgeContextType, scene: BadgeType) => void;
14
+ hasBadge: (context: AppBadgeContextType, scene: BadgeType) => true | null;
7
15
  }
8
16
  export const AppBadgeContext = React.createContext<AppBadgeContextType>({
9
17
  appBadgeValue: [],
10
18
  setAppBadgeValue: () => {},
19
+ initBadge: () => {},
20
+ clearBadge: () => {},
21
+ hasBadge: () => {
22
+ return null;
23
+ },
11
24
  });
12
25
 
13
26
  export interface BadgeType {
@@ -1,4 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Workspace
3
- version = "1.0">
4
- </Workspace>