🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@cuser/store

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@cuser/store

store tree changes managment

latest
npmnpm
Version
0.0.36
Version published
Maintainers
1
Created
Source

cuser logo

@cuser/store

Status

codecov npm npm-downloads

Store dedicated to manage the tree changes of cuser state

Stricted mutation system

In order to prevent bad insertions in dag tree, is necessary implement a stricted validations, delegates to do jsonschema the validations in combination with reducers

@cuser/proto

Index

Variables

Functions

Object literals

Variables

GraphType

GraphType: GraphType

Defined in store/reducers/content.js:9

Defined in store/reducers/message.js:10

Defined in store/reducers/topic.js:8

Defined in store/reducers/user.js:6

TYPE_ACTION_DEFAULT

TYPE_ACTION_DEFAULT: string

Defined in store/reducers/topics.js:14

TYPE_ACTION_DELETE_MESSAGE

TYPE_ACTION_DELETE_MESSAGE: string

Defined in store/reducers/message.js:14

Defined in store/reducers/topic.js:12

Defined in store/reducers/topics.js:13

TYPE_ACTION_PUBLISH_MESSAGE

TYPE_ACTION_PUBLISH_MESSAGE: string

Defined in store/reducers/content.js:10

Defined in store/reducers/data.js:5

Defined in store/reducers/message.js:12

Defined in store/reducers/topic.js:10

Defined in store/reducers/topics.js:11

Defined in store/reducers/user.js:8

TYPE_ACTION_REHYDRATE

TYPE_ACTION_REHYDRATE: string

Defined in store/enhancers/createSerializeEnhancer.js:11

TYPE_ACTION_SEAL

TYPE_ACTION_SEAL: string

Defined in store/enhancers/createSerializeEnhancer.js:12

TYPE_ACTION_UPDATE_MESSAGE

TYPE_ACTION_UPDATE_MESSAGE: string

Defined in store/reducers/content.js:10

Defined in store/reducers/data.js:5

Defined in store/reducers/message.js:13

Defined in store/reducers/topic.js:11

Defined in store/reducers/topics.js:12

TYPE_ERROR_INVALID_ACTION

TYPE_ERROR_INVALID_ACTION: "Invalid action format for "%s""

Defined in store/utils/wrapValidatorActionReducer.js:8

TYPE_ERROR_INVALID_STATE

TYPE_ERROR_INVALID_STATE: "Invalid state format for "%s""

Defined in store/utils/wrapValidatorStateReducer.js:8

TYPE_ERROR_MISSING_PREVIOUS_STATE

TYPE_ERROR_MISSING_PREVIOUS_STATE: "Previous state does't exists"

Defined in store/reducers/content.js:11

TYPE_ERROR_MISSING_RESOURCE_ID

TYPE_ERROR_MISSING_RESOURCE_ID: "%s with id "%s" doesn't exists"

Defined in store/reducers/message.js:18

Defined in store/reducers/topics.js:17

TYPE_ERROR_USER_MUST_BE_THE_OWNER

TYPE_ERROR_USER_MUST_BE_THE_OWNER: "User must be the owner of the %s"

Defined in store/reducers/message.js:17

actions

Const actions: "/Users/rubeniskov/Workspace/cuser/packages/store/types/actions" = require('../types/actions')

Defined in store/utils/createReducer.js:4

applyMiddleware

applyMiddleware: applyMiddleware

Defined in store/createStore.js:9

assert

Const assert: assert = require('@cuser/utils/assert')

Defined in store/reducers/content.js:7

Defined in store/reducers/message.js:8

Defined in store/reducers/topics.js:8

compose

compose: compose

Defined in store/createStore.js:9

contentReducer

Const contentReducer: Reducer = createReducer({ [TYPE_ACTION_PUBLISH_MESSAGE]: () => ({ type: GraphType.GRAPH_CONTENT, parent: null, revision: '@revision', cdate: '@timestamp', data: '@data', }), [TYPE_ACTION_UPDATE_MESSAGE]: (state) => { assert(state, TYPE_ERROR_MISSING_PREVIOUS_STATE); return { ...state, parent: state, revision: '@revision', cdate: '@timestamp', data: '@data', } }})

Defined in store/reducers/content.js:23

Content reducer for manage message data and its historical revisions, when update action, the current state will be swaped to parent in order to keep the tree changes

param

param

createIterator

createIterator: any

Defined in store/enhancers/createSerializeReducer.js:9

createReduxStore

createReduxStore: StoreCreator

Defined in store/createStore.js:9

dataReducer

Const dataReducer: Reducer = createReducer({ [TYPE_ACTION_PUBLISH_MESSAGE]: (_, { payload: { content: { data } } }) => data, [TYPE_ACTION_UPDATE_MESSAGE]: (state, { payload: { content: { data } } }) => data})

Defined in store/reducers/data.js:15

Data string state

param

param

debug

Const debug: Debugger = require('debug')('cuser:store:serializer')

Defined in store/enhancers/createSerializeEnhancer.js:9

format

format: format

Defined in store/utils/wrapValidatorActionReducer.js:6

Defined in store/utils/wrapValidatorStateReducer.js:6

isAlias

Const isAlias: isAlias = require('./isAlias')

Defined in store/utils/createResolveReducer.js:8

isPromise

Const isPromise: isPromise = require('@cuser/utils/isPromise')

Defined in store/reducers/recursive.js:7

isReducer

Const isReducer: isReducer = require('./isReducer')

Defined in store/utils/createResolveReducer.js:9

loggerMiddleware

Const loggerMiddleware: loggerMiddleware = require('./middlewares/loggerMiddleware')

Defined in store/createStore.js:11

messageReducer

Const messageReducer: Reducer = createReducer({ [TYPE_ACTION_PUBLISH_MESSAGE]: (state) => ({ type: GraphType.GRAPH_MESSAGE, parent: state || null, id: '@uuid', user: '@user', content: '@content', cdate: '@timestamp', mdate: '@timestamp', }), [TYPE_ACTION_UPDATE_MESSAGE]: recursiveReducer((state, { payload }) => { const { messageId } = payload; if (state && state.id === messageId) { assert(payload.user.peerId === state.user.peerId, TYPE_ERROR_USER_MUST_BE_THE_OWNER, 'message') return { ...state, content: '@content', mdate: '@timestamp', } } else { assert(state.parent, TYPE_ERROR_MISSING_RESOURCE_ID, 'Message', messageId) } }), [TYPE_ACTION_DELETE_MESSAGE]: recursiveReducer((state, { payload }) => { const { messageId } = payload; if (state && state.id === messageId) { assert(payload.user.peerId === state.user.peerId, TYPE_ERROR_USER_MUST_BE_THE_OWNER, 'message') return state.parent } else { assert(state.parent, TYPE_ERROR_MISSING_RESOURCE_ID, 'Message', messageId) } })})

Defined in store/reducers/message.js:31

Message reducer

param

param

minimatch

Const minimatch: M = require('minimatch')

Defined in store/enhancers/createSerializeReducer.js:8

monitorReducerEnhancer

Const monitorReducerEnhancer: monitorReducerEnhancer = require('./enhancers/monitorReducerEnhancer')

Defined in store/createStore.js:10

mutantJson

Const mutantJson: any = require('mutant-json')

Defined in store/utils/createResolveReducer.js:6

mutateJson

Const mutateJson: any = require('mutant-json')

Defined in store/enhancers/createSerializeReducer.js:6

Defined in store/reducers/recursive.js:6

rootReducer

Const rootReducer: (state: any, action: AnyAction) => any = require('./reducers')

Defined in store/configureStore.js:10

tap

Const tap: any = require('mutant-json/tap')

Defined in store/enhancers/createSerializeReducer.js:7

Defined in store/utils/createResolveReducer.js:7

topicReducer

Const topicReducer: Reducer = createReducer({ [TYPE_ACTION_PUBLISH_MESSAGE]: ({ count = 0 } = {}) => ({ type: GraphType.GRAPH_TOPIC, message: '@message', count: count + 1 }), [TYPE_ACTION_UPDATE_MESSAGE]: (state) => ({ ...state, message: '@message', }), [TYPE_ACTION_DELETE_MESSAGE]: (state) => ({ ...state, message: '@message', count: state.count - 1 })})

Defined in store/reducers/topic.js:23

Topic reducer

param

param

topicsReducer

Const topicsReducer: Reducer = createReducer({ [TYPE_ACTION_PUBLISH_MESSAGE]: (state, { payload: { topicId } }) => ({ ...state, [topicId]: '@topic' }), [TYPE_ACTION_UPDATE_MESSAGE]: (state, { payload: { topicId } }) => { assert(state && state[topicId], TYPE_ERROR_MISSING_RESOURCE_ID, 'Topic', topicId); return { ...state, [topicId]: '@topic' } }, [TYPE_ACTION_DELETE_MESSAGE]: (state, { payload: { topicId } }) => { assert(state && state[topicId], TYPE_ERROR_MISSING_RESOURCE_ID, 'Topic', topicId); return { ...state, [topicId]: '@topic' } }})

Defined in store/reducers/topics.js:28

Topic reducer

param

param

userReducer

Const userReducer: Reducer = createReducer({ // @ts-ignore [TYPE_ACTION_PUBLISH_MESSAGE]: (_, { payload: { user: { avatar, username, peerId } } = {} }) => ({ type: GraphType.GRAPH_USER, username, peerId, avatar })})

Defined in store/reducers/user.js:18

User reducer

param

param

validator

Const validator: createValidator = require('@cuser/validator')

Defined in store/utils/wrapValidatorActionReducer.js:5

Defined in store/utils/wrapValidatorStateReducer.js:5

Functions

configureStore

ConstconfigureStore(preloadedState: string | {} | Promise<string | {}>, opts: CuserSerializeEnhancerOptions): CuserStore

Defined in store/configureStore.js:21

Parameters:

NameType
preloadedStatestring | {} | Promise<string | {}>
optsCuserSerializeEnhancerOptions

Returns: CuserStore

createReducer

ConstcreateReducer(mutations: Record<string, Reducer<any, AnyAction>>): Reducer<any, AnyAction>

Defined in store/utils/createReducer.js:12

Parameters:

NameType
mutationsRecord<string, Reducer<any, AnyAction>>

Returns: Reducer<any, AnyAction>

createRehydrateReducer

ConstcreateRehydrateReducer(__namedParameters: { deserialize: (state: string) => Promise<any> ; deserializable: () => true }): rehydrateReducer

Defined in store/enhancers/createSerializeEnhancer.js:77

Parameters:

NameType
__namedParameters{ deserialize: (state: string) => Promise<any> ; deserializable: () => true }

Returns: rehydrateReducer

createResolveReducer

ConstcreateResolveReducer(rootReducer: Reducer<any, AnyAction>, opts: any): resolveReducer

Defined in store/utils/createResolveReducer.js:24

Parameters:

NameType
rootReducerReducer<any, AnyAction>
optsany

Returns: resolveReducer

createSealReducer

ConstcreateSealReducer(__namedParameters: { serialize: (state: any) => Promise<string> ; serializable: () => true }): sealReducer

Defined in store/enhancers/createSerializeEnhancer.js:94

Parameters:

NameType
__namedParameters{ serialize: (state: any) => Promise<string> ; serializable: () => true }

Returns: sealReducer

createSerializeEnhancer

ConstcreateSerializeEnhancer(patterns: string[], opts: CuserSerializeEnhancerOptions): (Anonymous function)

Defined in store/enhancers/createSerializeEnhancer.js:112

Parameters:

NameTypeDescription
patternsstring[]
optsCuserSerializeEnhancerOptions

Returns: (Anonymous function)

createSerializeReducer

ConstcreateSerializeReducer(reducer: Reducer<any, AnyAction>, patterns: string[], opts: CuserStoreSerializeReducerOptions): serializeReducer

Defined in store/enhancers/createSerializeReducer.js:24

Parameters:

NameType
reducerReducer<any, AnyAction>
patternsstring[]
optsCuserStoreSerializeReducerOptions

Returns: serializeReducer

createStore

ConstcreateStore(rootReducer: Reducer<any, AnyAction>, preloadedState: any, enhancer: Function): CuserStore

Defined in store/createStore.js:32

Parameters:

NameType
rootReducerReducer<any, AnyAction>
preloadedStateany
enhancerFunction

Returns: CuserStore

parseAliasReducer

ConstparseAliasReducer(reducer: any): any[]

Defined in store/utils/createResolveReducer.js:11

Parameters:

NameType
reducerany

Returns: any[]

parseMapping

ConstparseMapping(mapping: string | any[]): any[]

Defined in store/utils/parseMapping.js:7

Parameters:

NameType
mappingstring | any[]

Returns: any[]

recursiveReducer

ConstrecursiveReducer(reducer: Reducer<any, AnyAction>, opts: any): (Anonymous function)

Defined in store/reducers/recursive.js:14

Creates a recursive reducer for a certain key by, default parent

Parameters:

NameTypeDescription
reducerReducer<any, AnyAction>
optsany

Returns: (Anonymous function)

wrapReducerAction

ConstwrapReducerAction(schema: any, reducer?: Reducer<any, AnyAction>): actionValidateReducer

Defined in store/utils/wrapValidatorActionReducer.js:16

Creates a state validator reducer

Parameters:

NameTypeDefault valueDescription
schemaany-
reducerReducer<any, AnyAction>(state, action) => state

Returns: actionValidateReducer

wrapValidatorStateReducer

ConstwrapValidatorStateReducer(schema: any, reducer?: Reducer<any, AnyAction>): stateValidateReducer

Defined in store/utils/wrapValidatorStateReducer.js:16

Creates a state validator reducer

Parameters:

NameTypeDefault valueDescription
schemaany-
reducerReducer<any, AnyAction>(state, action) => state

Returns: stateValidateReducer

Object literals

phases

Const phases: object

Defined in store/enhancers/createSerializeEnhancer.js:16

Properties:

NameTypeValue
IDLEnumber0
REHYDRATINGnumber2
SEALINGnumber1

FAQs

Package last updated on 24 Dec 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts