@bessemer/cornerstone 0.5.21 → 0.5.22
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.
- package/dist/date.js +1 -1
- package/dist/date.js.map +1 -1
- package/dist/either.d.ts +1 -1
- package/dist/either.d.ts.map +1 -1
- package/dist/either.js +1 -1
- package/dist/either.js.map +1 -1
- package/dist/resource.js +1 -1
- package/dist/resource.js.map +1 -1
- package/dist/retry.js +1 -1
- package/dist/retry.js.map +1 -1
- package/dist/store.js +1 -1
- package/dist/store.js.map +1 -1
- package/dist/ulid.js +1 -1
- package/dist/ulid.js.map +1 -1
- package/package.json +1 -1
package/dist/date.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
// src/date.ts
|
2
2
|
import { addHours as _addHours, addMilliseconds as _addMilliseconds, isAfter as _isAfter, isBefore as _isBefore, parseISO } from "date-fns";
|
3
3
|
import { isDate as _isDate } from "lodash-es";
|
4
|
-
import { Durations } from "@bessemer/cornerstone
|
4
|
+
import { Durations } from "@bessemer/cornerstone";
|
5
5
|
var isDate = _isDate;
|
6
6
|
var now = () => {
|
7
7
|
return /* @__PURE__ */ new Date();
|
package/dist/date.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../src/date.ts"],"sourcesContent":["import { addHours as _addHours, addMilliseconds as _addMilliseconds, isAfter as _isAfter, isBefore as _isBefore, parseISO } from 'date-fns'\nimport { isDate as _isDate } from 'lodash-es'\nimport { Duration } from '@bessemer/cornerstone/duration'\nimport { Durations } from '@bessemer/cornerstone
|
1
|
+
{"version":3,"sources":["../src/date.ts"],"sourcesContent":["import { addHours as _addHours, addMilliseconds as _addMilliseconds, isAfter as _isAfter, isBefore as _isBefore, parseISO } from 'date-fns'\nimport { isDate as _isDate } from 'lodash-es'\nimport { Duration } from '@bessemer/cornerstone/duration'\nimport { Durations } from '@bessemer/cornerstone'\n\nexport const isDate = _isDate\n\nexport const now = (): Date => {\n return new Date()\n}\n\nexport const of = (dateString: string): Date => {\n return parseISO(dateString)\n}\n\nexport const addMilliseconds = _addMilliseconds\nexport const addHours = _addHours\nexport const isBefore = _isBefore\nexport const isAfter = _isAfter\n\nexport const addDuration = (date: Date, duration: Duration): Date => addMilliseconds(date, Durations.inMilliseconds(duration))\n"],"mappings":";AAAA,SAAS,YAAY,WAAW,mBAAmB,kBAAkB,WAAW,UAAU,YAAY,WAAW,gBAAgB;AACjI,SAAS,UAAU,eAAe;AAElC,SAAS,iBAAiB;AAEnB,IAAM,SAAS;AAEf,IAAM,MAAM,MAAY;AAC7B,SAAO,oBAAI,KAAK;AAClB;AAEO,IAAM,KAAK,CAAC,eAA6B;AAC9C,SAAO,SAAS,UAAU;AAC5B;AAEO,IAAM,kBAAkB;AACxB,IAAM,WAAW;AACjB,IAAM,WAAW;AACjB,IAAM,UAAU;AAEhB,IAAM,cAAc,CAAC,MAAY,aAA6B,gBAAgB,MAAM,UAAU,eAAe,QAAQ,CAAC;","names":[]}
|
package/dist/either.d.ts
CHANGED
package/dist/either.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"either.d.ts","sourceRoot":"","sources":["../src/either.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"either.d.ts","sourceRoot":"","sources":["../src/either.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE/C,oBAAY,UAAU;IACpB,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI;IACpB,IAAI,EAAE,UAAU,CAAC,IAAI,CAAA;IACrB,KAAK,EAAE,CAAC,CAAA;CACT,CAAA;AACD,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI;IACrB,IAAI,EAAE,UAAU,CAAC,KAAK,CAAA;IACtB,KAAK,EAAE,CAAC,CAAA;CACT,CAAA;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;AAE7C,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,IAAI,CAAC,CAAC,CAAuC,CAAA;AAChF,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,KAAK,CAAC,CAAC,CAAwC,CAAA;AAEnF,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,IAAI,IAAI,CAAC,CAAC,CAAoC,CAAA;AACxG,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,IAAI,KAAK,CAAC,CAAC,CAAqC,CAAA;AAE3G,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,CAAC,EAAE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAI3E,CAAA"}
|
package/dist/either.js
CHANGED
package/dist/either.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../src/either.ts"],"sourcesContent":["import { Eithers } from '@bessemer/cornerstone
|
1
|
+
{"version":3,"sources":["../src/either.ts"],"sourcesContent":["import { Eithers } from '@bessemer/cornerstone'\n\nexport enum EitherType {\n Left = 'Left',\n Right = 'Right',\n}\n\nexport type Left<T> = {\n type: EitherType.Left\n value: T\n}\nexport type Right<N> = {\n type: EitherType.Right\n value: N\n}\n\nexport type Either<T, N> = Left<T> | Right<N>\n\nexport const left = <T>(value: T): Left<T> => ({ type: EitherType.Left, value })\nexport const right = <N>(value: N): Right<N> => ({ type: EitherType.Right, value })\n\nexport const isLeft = <T, N>(either: Either<T, N>): either is Left<T> => either.type === EitherType.Left\nexport const isRight = <T, N>(either: Either<T, N>): either is Right<N> => either.type === EitherType.Right\n\nexport const split = <L, R>(array: Array<Either<L, R>>): [Array<L>, Array<R>] => {\n const lefts = array.filter(Eithers.isLeft).map((it) => it.value)\n const rights = array.filter(Eithers.isRight).map((it) => it.value)\n return [lefts, rights]\n}\n"],"mappings":";AAAA,SAAS,eAAe;AAEjB,IAAK,aAAL,kBAAKA,gBAAL;AACL,EAAAA,YAAA,UAAO;AACP,EAAAA,YAAA,WAAQ;AAFE,SAAAA;AAAA,GAAA;AAgBL,IAAM,OAAO,CAAI,WAAuB,EAAE,MAAM,mBAAiB,MAAM;AACvE,IAAM,QAAQ,CAAI,WAAwB,EAAE,MAAM,qBAAkB,MAAM;AAE1E,IAAM,SAAS,CAAO,WAA4C,OAAO,SAAS;AAClF,IAAM,UAAU,CAAO,WAA6C,OAAO,SAAS;AAEpF,IAAM,QAAQ,CAAO,UAAqD;AAC/E,QAAM,QAAQ,MAAM,OAAO,QAAQ,MAAM,EAAE,IAAI,CAAC,OAAO,GAAG,KAAK;AAC/D,QAAM,SAAS,MAAM,OAAO,QAAQ,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,KAAK;AACjE,SAAO,CAAC,OAAO,MAAM;AACvB;","names":["EitherType"]}
|
package/dist/resource.js
CHANGED
package/dist/resource.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../src/resource.ts"],"sourcesContent":["import { NominalType } from '@bessemer/cornerstone/types'\nimport { Strings, Zod } from '@bessemer/cornerstone
|
1
|
+
{"version":3,"sources":["../src/resource.ts"],"sourcesContent":["import { NominalType } from '@bessemer/cornerstone/types'\nimport { Strings, Zod } from '@bessemer/cornerstone'\nimport { ZodType } from 'zod'\n\nexport type ResourceKey = string\n\nexport type ResourceNamespace = NominalType<string, 'ResourceNamespace'>\nexport const ResourceNamespaceSchema: ZodType<ResourceNamespace> = Zod.string()\n\nexport namespace ResourceKey {\n const ResourceNamespaceSeparator = '/'\n\n export const namespace = (namespace: ResourceNamespace, key: ResourceKey): ResourceKey => {\n return `${namespace}${ResourceNamespaceSeparator}${key}`\n }\n\n export const namespaceAll = (namespace: ResourceNamespace, keys: Array<ResourceKey>): Array<ResourceKey> => {\n return keys.map((it) => ResourceKey.namespace(namespace, it))\n }\n\n export const stripNamespace = (namespace: ResourceNamespace, key: ResourceKey): ResourceKey => {\n return Strings.removeStart(key, `${namespace}${ResourceNamespaceSeparator}`)\n }\n\n export const stripNamespaceAll = (namespace: ResourceNamespace, keys: Array<ResourceKey>): Array<ResourceKey> => {\n return keys.map((it) => ResourceKey.stripNamespace(namespace, it))\n }\n\n export const extendNamespace = (...namespaces: Array<ResourceNamespace>): ResourceNamespace => {\n return namespaces.join(ResourceNamespaceSeparator)\n }\n}\n"],"mappings":";AACA,SAAS,SAAS,WAAW;AAMtB,IAAM,0BAAsD,IAAI,OAAO;AAEvE,IAAU;AAAA,CAAV,CAAUA,iBAAV;AACL,QAAM,6BAA6B;AAE5B,EAAMA,aAAA,YAAY,CAACC,YAA8B,QAAkC;AACxF,WAAO,GAAGA,UAAS,GAAG,0BAA0B,GAAG,GAAG;AAAA,EACxD;AAEO,EAAMD,aAAA,eAAe,CAACC,YAA8B,SAAiD;AAC1G,WAAO,KAAK,IAAI,CAAC,OAAOD,aAAY,UAAUC,YAAW,EAAE,CAAC;AAAA,EAC9D;AAEO,EAAMD,aAAA,iBAAiB,CAACC,YAA8B,QAAkC;AAC7F,WAAO,QAAQ,YAAY,KAAK,GAAGA,UAAS,GAAG,0BAA0B,EAAE;AAAA,EAC7E;AAEO,EAAMD,aAAA,oBAAoB,CAACC,YAA8B,SAAiD;AAC/G,WAAO,KAAK,IAAI,CAAC,OAAOD,aAAY,eAAeC,YAAW,EAAE,CAAC;AAAA,EACnE;AAEO,EAAMD,aAAA,kBAAkB,IAAI,eAA4D;AAC7F,WAAO,WAAW,KAAK,0BAA0B;AAAA,EACnD;AAAA,GArBe;","names":["ResourceKey","namespace"]}
|
package/dist/retry.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
// src/retry.ts
|
2
|
-
import { Async, Durations, Maths, Objects, Preconditions, Results } from "@bessemer/cornerstone
|
2
|
+
import { Async, Durations, Maths, Objects, Preconditions, Results } from "@bessemer/cornerstone";
|
3
3
|
var None = {
|
4
4
|
attempts: 0,
|
5
5
|
delay: Durations.Zero
|
package/dist/retry.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../src/retry.ts"],"sourcesContent":["import { Duration } from '@bessemer/cornerstone/duration'\nimport { Async, Durations, Maths, Objects, Preconditions, Results } from '@bessemer/cornerstone
|
1
|
+
{"version":3,"sources":["../src/retry.ts"],"sourcesContent":["import { Duration } from '@bessemer/cornerstone/duration'\nimport { Async, Durations, Maths, Objects, Preconditions, Results } from '@bessemer/cornerstone'\nimport { AsyncResult, Result } from '@bessemer/cornerstone/result'\nimport { PartialDeep } from 'type-fest'\n\nexport type RetryProps = {\n attempts: number\n delay: Duration\n}\n\nexport type RetryOptions = PartialDeep<RetryProps>\n\nexport const None: RetryProps = {\n attempts: 0,\n delay: Durations.Zero,\n}\n\nexport const DefaultRetryProps: RetryProps = {\n attempts: 3,\n delay: Durations.ofMilliseconds(500),\n}\n\nexport type RetryState = {\n attempt: number\n props: RetryProps\n}\n\nexport const initialize = (initialOptions?: RetryOptions): RetryState => {\n const props = Objects.merge(DefaultRetryProps, initialOptions)\n Preconditions.isTrue(props.attempts >= 0, () => 'usingRetry attempts must be >= 0')\n\n return {\n attempt: 0,\n props,\n }\n}\n\nexport const retry = async (state: RetryState): Promise<RetryState | undefined> => {\n if (state.attempt >= state.props.attempts - 1) {\n return undefined\n }\n\n const delayMs = Durations.inMilliseconds(state.props.delay)\n const maxJitterMs = delayMs * 0.3 // We calculate max jitter as 30% of the delay\n await Async.sleep(Durations.ofMilliseconds(delayMs + Maths.random(0, maxJitterMs)))\n\n return {\n props: state.props,\n attempt: state.attempt + 1,\n }\n}\n\nexport const usingRetry = async <T>(runnable: () => Promise<Result<T>>, initialOptions?: RetryOptions): AsyncResult<T> => {\n let retryState: RetryState | undefined = initialize(initialOptions)\n let previousResult: Result<T> = Results.failure()\n\n do {\n // JOHN Should this be a try/catch? it was causing debugging problems\n const result = await runnable()\n previousResult = result\n\n if (result.isSuccess) {\n return result\n }\n\n retryState = await retry(retryState)\n } while (!Objects.isUndefined(retryState))\n\n return previousResult\n}\n"],"mappings":";AACA,SAAS,OAAO,WAAW,OAAO,SAAS,eAAe,eAAe;AAWlE,IAAM,OAAmB;AAAA,EAC9B,UAAU;AAAA,EACV,OAAO,UAAU;AACnB;AAEO,IAAM,oBAAgC;AAAA,EAC3C,UAAU;AAAA,EACV,OAAO,UAAU,eAAe,GAAG;AACrC;AAOO,IAAM,aAAa,CAAC,mBAA8C;AACvE,QAAM,QAAQ,QAAQ,MAAM,mBAAmB,cAAc;AAC7D,gBAAc,OAAO,MAAM,YAAY,GAAG,MAAM,kCAAkC;AAElF,SAAO;AAAA,IACL,SAAS;AAAA,IACT;AAAA,EACF;AACF;AAEO,IAAM,QAAQ,OAAO,UAAuD;AACjF,MAAI,MAAM,WAAW,MAAM,MAAM,WAAW,GAAG;AAC7C,WAAO;AAAA,EACT;AAEA,QAAM,UAAU,UAAU,eAAe,MAAM,MAAM,KAAK;AAC1D,QAAM,cAAc,UAAU;AAC9B,QAAM,MAAM,MAAM,UAAU,eAAe,UAAU,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC;AAElF,SAAO;AAAA,IACL,OAAO,MAAM;AAAA,IACb,SAAS,MAAM,UAAU;AAAA,EAC3B;AACF;AAEO,IAAM,aAAa,OAAU,UAAoC,mBAAkD;AACxH,MAAI,aAAqC,WAAW,cAAc;AAClE,MAAI,iBAA4B,QAAQ,QAAQ;AAEhD,KAAG;AAED,UAAM,SAAS,MAAM,SAAS;AAC9B,qBAAiB;AAEjB,QAAI,OAAO,WAAW;AACpB,aAAO;AAAA,IACT;AAEA,iBAAa,MAAM,MAAM,UAAU;AAAA,EACrC,SAAS,CAAC,QAAQ,YAAY,UAAU;AAExC,SAAO;AACT;","names":[]}
|
package/dist/store.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
// src/store.ts
|
2
|
-
import { Arrays, Entries, Objects } from "@bessemer/cornerstone
|
2
|
+
import { Arrays, Entries, Objects } from "@bessemer/cornerstone";
|
3
3
|
var AbstractRemoteKeyValueStore = class {
|
4
4
|
writeValue = async (key, value) => {
|
5
5
|
await this.writeValues([Entries.of(key, value)]);
|
package/dist/store.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../src/store.ts"],"sourcesContent":["import { ResourceKey } from '@bessemer/cornerstone/resource'\nimport { Entry } from '@bessemer/cornerstone/entry'\nimport { Arrays, Entries, Objects } from '@bessemer/cornerstone
|
1
|
+
{"version":3,"sources":["../src/store.ts"],"sourcesContent":["import { ResourceKey } from '@bessemer/cornerstone/resource'\nimport { Entry } from '@bessemer/cornerstone/entry'\nimport { Arrays, Entries, Objects } from '@bessemer/cornerstone'\n\nexport interface LocalStore<T> {\n setValue: (value: T | undefined) => void\n getValue: () => T | undefined\n}\n\nexport interface LocalKeyValueStore<T> {\n setValues: (entries: Array<Entry<T | undefined>>) => void\n setValue: (key: ResourceKey, value: T | undefined) => void\n\n getEntries: () => Array<Entry<T>>\n getValues: (keys: Array<ResourceKey>) => Array<Entry<T>>\n getValue: (key: ResourceKey) => T | undefined\n}\n\nexport interface RemoteStore<T> {\n writeValue: (value: T | undefined) => Promise<void>\n fetchValue: () => Promise<T | undefined>\n}\n\nexport interface RemoteKeyValueStore<T> {\n writeValues: (entries: Array<Entry<T | undefined>>) => Promise<void>\n writeValue: (key: ResourceKey, value: T | undefined) => Promise<void>\n\n fetchValues: (keys: Array<ResourceKey>) => Promise<Array<Entry<T>>>\n fetchValue: (key: ResourceKey) => Promise<T | undefined>\n}\n\nexport abstract class AbstractRemoteKeyValueStore<T> implements RemoteKeyValueStore<T> {\n abstract writeValues: (entries: Array<Entry<T | undefined>>) => Promise<void>\n\n writeValue = async (key: ResourceKey, value: T | undefined): Promise<void> => {\n await this.writeValues([Entries.of(key, value)])\n }\n\n abstract fetchValues: (keys: Array<ResourceKey>) => Promise<Array<Entry<T>>>\n\n fetchValue = async (key: ResourceKey): Promise<T | undefined> => {\n return Arrays.first(await this.fetchValues([key]))?.[1]\n }\n}\n\nexport abstract class AbstractLocalKeyValueStore<T> extends AbstractRemoteKeyValueStore<T> implements LocalKeyValueStore<T> {\n abstract setValues: (entries: Array<Entry<T | undefined>>) => void\n\n setValue = (key: ResourceKey, value: T | undefined): void => {\n this.setValues([Entries.of(key, value)])\n }\n\n abstract getEntries: () => Array<Entry<T>>\n abstract getValues: (keys: Array<ResourceKey>) => Array<Entry<T>>\n\n getValue = (key: ResourceKey): T | undefined => {\n return Arrays.first(this.getValues([key]))?.[1]\n }\n\n fetchValues = async (keys: Array<ResourceKey>): Promise<Array<Entry<T>>> => {\n return this.getValues(keys)\n }\n\n writeValues = async (entries: Array<Entry<T | undefined>>): Promise<void> => {\n this.setValues(entries)\n }\n}\n\nexport const fromMap = <T>(): LocalKeyValueStore<T> => {\n const map = new Map<string, T>()\n\n return new (class extends AbstractLocalKeyValueStore<T> {\n override getEntries = (): Array<Entry<T>> => {\n return Array.from(map.entries())\n }\n\n override setValues = (entries: Entry<T | undefined>[]): void => {\n entries.forEach(([key, value]) => {\n if (Objects.isNil(value)) {\n map.delete(key)\n } else {\n map.set(key, value)\n }\n })\n }\n\n override getValues = (keys: Array<ResourceKey>): Array<Entry<T>> => {\n return keys.map((key) => Entries.of(key, map.get(key)!)).filter((it) => Objects.isPresent(it[1]))\n }\n })()\n}\n"],"mappings":";AAEA,SAAS,QAAQ,SAAS,eAAe;AA6BlC,IAAe,8BAAf,MAAgF;AAAA,EAGrF,aAAa,OAAO,KAAkB,UAAwC;AAC5E,UAAM,KAAK,YAAY,CAAC,QAAQ,GAAG,KAAK,KAAK,CAAC,CAAC;AAAA,EACjD;AAAA,EAIA,aAAa,OAAO,QAA6C;AAC/D,WAAO,OAAO,MAAM,MAAM,KAAK,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AAAA,EACxD;AACF;AAEO,IAAe,6BAAf,cAAqD,4BAAgE;AAAA,EAG1H,WAAW,CAAC,KAAkB,UAA+B;AAC3D,SAAK,UAAU,CAAC,QAAQ,GAAG,KAAK,KAAK,CAAC,CAAC;AAAA,EACzC;AAAA,EAKA,WAAW,CAAC,QAAoC;AAC9C,WAAO,OAAO,MAAM,KAAK,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AAAA,EAChD;AAAA,EAEA,cAAc,OAAO,SAAuD;AAC1E,WAAO,KAAK,UAAU,IAAI;AAAA,EAC5B;AAAA,EAEA,cAAc,OAAO,YAAwD;AAC3E,SAAK,UAAU,OAAO;AAAA,EACxB;AACF;AAEO,IAAM,UAAU,MAAgC;AACrD,QAAM,MAAM,oBAAI,IAAe;AAE/B,SAAO,IAAK,cAAc,2BAA8B;AAAA,IAC7C,aAAa,MAAuB;AAC3C,aAAO,MAAM,KAAK,IAAI,QAAQ,CAAC;AAAA,IACjC;AAAA,IAES,YAAY,CAAC,YAA0C;AAC9D,cAAQ,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAChC,YAAI,QAAQ,MAAM,KAAK,GAAG;AACxB,cAAI,OAAO,GAAG;AAAA,QAChB,OAAO;AACL,cAAI,IAAI,KAAK,KAAK;AAAA,QACpB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IAES,YAAY,CAAC,SAA8C;AAClE,aAAO,KAAK,IAAI,CAAC,QAAQ,QAAQ,GAAG,KAAK,IAAI,IAAI,GAAG,CAAE,CAAC,EAAE,OAAO,CAAC,OAAO,QAAQ,UAAU,GAAG,CAAC,CAAC,CAAC;AAAA,IAClG;AAAA,EACF,EAAG;AACL;","names":[]}
|
package/dist/ulid.js
CHANGED
package/dist/ulid.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../src/ulid.ts"],"sourcesContent":["import { ulid } from 'ulid'\nimport { TaggedType } from '@bessemer/cornerstone/types'\nimport { Preconditions, Strings } from '@bessemer/cornerstone
|
1
|
+
{"version":3,"sources":["../src/ulid.ts"],"sourcesContent":["import { ulid } from 'ulid'\nimport { TaggedType } from '@bessemer/cornerstone/types'\nimport { Preconditions, Strings } from '@bessemer/cornerstone'\n\nexport type Ulid = TaggedType<string, 'Ulid'>\n\nexport const generate = (): Ulid => {\n return ulid() as Ulid\n}\n\nexport const asString = (value: Ulid): string => {\n return value\n}\n\nexport const generateString = (): string => {\n return asString(generate())\n}\n\nexport const of = (value: string): Ulid => {\n Preconditions.isTrue(isValid(value), () => `Attempted to coerce invalid value to Ulid: ${value}`)\n return value as Ulid\n}\n\nconst pattern = /^[0-9A-HJKMNP-TV-Z]{26}$/\n\nexport const isValid = (value: unknown): value is Ulid => {\n return Strings.isString(value) && pattern.test(value)\n}\n"],"mappings":";AAAA,SAAS,YAAY;AAErB,SAAS,eAAe,eAAe;AAIhC,IAAM,WAAW,MAAY;AAClC,SAAO,KAAK;AACd;AAEO,IAAM,WAAW,CAAC,UAAwB;AAC/C,SAAO;AACT;AAEO,IAAM,iBAAiB,MAAc;AAC1C,SAAO,SAAS,SAAS,CAAC;AAC5B;AAEO,IAAM,KAAK,CAAC,UAAwB;AACzC,gBAAc,OAAO,QAAQ,KAAK,GAAG,MAAM,8CAA8C,KAAK,EAAE;AAChG,SAAO;AACT;AAEA,IAAM,UAAU;AAET,IAAM,UAAU,CAAC,UAAkC;AACxD,SAAO,QAAQ,SAAS,KAAK,KAAK,QAAQ,KAAK,KAAK;AACtD;","names":[]}
|