npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

react-native-mmstorage

v1.0.5

Published

key value storage based on mmap

Downloads

10

Readme

react-native-mmstorage

Getting started

$ yarn add react-native-mmstorage

Usage

import MMStorage from 'react-native-mmstorage';

APIS

initMMStorage(ids?: string[]) ⚠️ 该方法需要在App入口处全局执行一次。

默认将会使用单个存储实例进行读写、如果对于不同业务数据需要分别使用各自存储实例进行存储,则需要在App入口文件处先初始化实例。每个实例对应一个 id (字符串类型)

setStringifyValue(key:string,value:any,id?:string)

传入任意类型对象、最终将会以字符串类型写入磁盘。id为存储实例ID,不传则使用默认实例。

getParsedValue(key:string,id?:string)

该方法应配合 setStringifyValue 方法使用、读取到数据后将parse成相应数据类型对象

setValue(key:string,value:any,preciseType?:PreciseType,id?:string)

PreciseType : 'DOUBLE' | 'FLOAT' | 'INT' | 'BOOLEAN' | 'STRING'

当需要更精细化控制存储的值类型时可以使用该方法、存入对应精确类型数据。

INT类型对应存入的是 int64类型数值

默认为 'STRING'

getValue(key:string,preciseType?:PreciseType,id?:string)

该方法应当配合 setValue 使用、在明确存入的数据类型时,可使用该方法获取到对应值。

默认 'STRING'

hasKey(key:string,id?:string)

查询是否存在对应的 key

delValue(key:string,id?:string)

删除对应key值

delAllValue(id?:string)

删除全部key值、不传id则默认执行的是默认存储实例

示例

useEffect(() => {
		let user = {
			id: Math.floor(Math.random() * 1000000),
			name: 'lily',
			age: 23,
			sex: 1
		}
		MMStorage.setStringifyValue("user", user);
		MMStorage.getParsedValue("user").then((value) => {
			console.log("user: ", value);
		})
		MMStorage.hasKey('user').then(rs => {
			console.log('before delete ', rs);
		})
		MMStorage.delAllValue();
		MMStorage.hasKey('user').then(rs => {
			console.log('after delete ', rs);
		})
}, [])