1.1.7 • Published 2 years ago

@kard/dynamo-state v1.1.7

Weekly downloads
-
License
ISC
Repository
gitlab
Last release
2 years ago

AWS DynamoDB state

Usage

const { getState, updateState } = require('@kard/dynamo-state');

config = {
  tableName: 'my-state-aws-dynamodb-table',
  memoryDal: false,
  allowCreateTable: true,
  stateIdField: 'stateId',
  eventIdField: 'actionType',
  awsLog: false,
  awsSdk: {
    region: 'eu-central-1',
  },
};

const stateId = '3918d9b3-2ac1-4f1d-845b-5bcadc72853d';

const currentState = await getState(stateId, { config })
console.log('[getState]', currentState);

const reducers = {
  SET_STATE: async (state, { actionType, payload }, putNextSignal) => {
    putNextSignal('SET_ANOTHER_STATE', {}) // actionType, payload
    return {
      ...state,
      stateName: payload.stateName,
    }
  },
  SET_ANOTHER_STATE: async (state, { actionType, payload }, putNextSignal) => ({
    ...state,
    stateName: payload.stateName,
  })
};

const actions = { 
	actionType: 'SET_STATE', 
	payload: {
		stateName: 'MY_STATE_NAME',
	}
}

const newState = await updateState(action, stateId, { config, reducers });
console.log('[updateState]', newState);

Build

npm ci
npm run build
npx rimraf dist && npm run build
1.1.7

2 years ago

1.1.6

2 years ago

1.1.5

2 years ago

1.1.4

3 years ago

1.1.3

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.1.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago