Skip to content

Commit

Permalink
feat: add useNow() to get current timestamp consistent between Suspen…
Browse files Browse the repository at this point in the history
…se rerenders. Export useNow, useId, useTriggerUpdate, useScheduleUpdate
cray0000 committed Sep 11, 2024
1 parent 76d5f5d commit 3e57144
Showing 2 changed files with 11 additions and 0 deletions.
1 change: 1 addition & 0 deletions packages/teamplay/index.js
Original file line number Diff line number Diff line change
@@ -17,6 +17,7 @@ export { default as sub } from './orm/sub.js'
export { default as useSub, setUseDeferredValue as __setUseDeferredValue } from './react/useSub.js'
export { default as observer } from './react/observer.js'
export { connection, setConnection, getConnection, fetchOnly, setFetchOnly, publicOnly, setPublicOnly } from './orm/connection.js'
export { useId, useNow, useScheduleUpdate, useTriggerUpdate } from './react/helpers.js'
export { GUID_PATTERN, hasMany, hasOne, hasManyFlags, belongsTo, pickFormFields } from '@teamplay/schema'
export { aggregation, aggregationHeader as __aggregationHeader } from '@teamplay/utils/aggregation'
export { accessControl } from '@teamplay/utils/accessControl'
10 changes: 10 additions & 0 deletions packages/teamplay/react/helpers.js
Original file line number Diff line number Diff line change
@@ -22,6 +22,12 @@ export function pipeComponentMeta (SourceComponent, TargetComponent, suffix = ''
return TargetComponent
}

export function useNow () {
const context = useContext(ComponentMetaContext)
if (!context) throw Error(ERRORS.useNow)
return context.createdAt
}

export function useId () {
const context = useContext(ComponentMetaContext)
if (!context) throw Error(ERRORS.useId)
@@ -63,5 +69,9 @@ const ERRORS = {
useId: `
useId() can only be used inside a component wrapped with observer().
You have probably forgot to wrap your component with observer().
`,
useNow: `
useNow() can only be used inside a component wrapped with observer().
You have probably forgot to wrap your component with observer().
`
}

0 comments on commit 3e57144

Please sign in to comment.