42 lines
978 B
JavaScript
42 lines
978 B
JavaScript
import * as Versioned from "./versioned.js";
|
|
/** @internal */
|
|
export const make = (ref, isNew) => ({
|
|
ref,
|
|
isNew,
|
|
isChanged: false,
|
|
expected: ref.versioned,
|
|
newValue: ref.versioned.value
|
|
});
|
|
export const unsafeGet = self => {
|
|
return self.newValue;
|
|
};
|
|
/** @internal */
|
|
export const unsafeSet = (self, value) => {
|
|
self.isChanged = true;
|
|
self.newValue = value;
|
|
};
|
|
/** @internal */
|
|
export const commit = self => {
|
|
self.ref.versioned = new Versioned.Versioned(self.newValue);
|
|
};
|
|
/** @internal */
|
|
export const copy = self => ({
|
|
ref: self.ref,
|
|
isNew: self.isNew,
|
|
isChanged: self.isChanged,
|
|
expected: self.expected,
|
|
newValue: self.newValue
|
|
});
|
|
/** @internal */
|
|
export const isValid = self => {
|
|
return self.ref.versioned === self.expected;
|
|
};
|
|
/** @internal */
|
|
export const isInvalid = self => {
|
|
return self.ref.versioned !== self.expected;
|
|
};
|
|
/** @internal */
|
|
export const isChanged = self => {
|
|
return self.isChanged;
|
|
};
|
|
//# sourceMappingURL=entry.js.map
|