fluidstate
Version:
Library for fine-grained reactivity state management
81 lines (80 loc) • 3.67 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createSetValueAtomName = exports.createSetTransformedAtomName = exports.createSetAtomName = exports.createRemoteAtomName = exports.createPromiseAtomName = exports.createObjectValueAtomName = exports.createObjectKeysAtomName = exports.createObjectComputedValueAtomName = exports.createMapValueAtomName = exports.createMapSizeAtomName = exports.createMapKeyAtomName = exports.createMapItemAtomName = exports.createAtomNameFromOptions = exports.createAtomName = exports.createArrayItemAtomName = exports.createArrayAtomName = void 0;
let reactiveObjectId = 1;
const createAtomName = () => {
return `ReactiveObject@${reactiveObjectId++}`;
};
exports.createAtomName = createAtomName;
const createRemoteAtomName = atomName => {
return `Remote${createAtomName()}@${atomName}`;
};
exports.createRemoteAtomName = createRemoteAtomName;
const createAtomNameFromOptions = options => {
if (!options) {
return createAtomName();
}
if ("atomName" in options) {
return options.atomName;
}
if (!("parentAtomName" in options)) {
return options.createAtomName();
}
return options.createAtomName(options.parentAtomName, options.childIndex);
};
exports.createAtomNameFromOptions = createAtomNameFromOptions;
const createArrayAtomName = parentAtomName => {
return `${parentAtomName}.Array`;
};
exports.createArrayAtomName = createArrayAtomName;
const createArrayItemAtomName = (parentAtomName, childIndex) => {
return `${parentAtomName}[${childIndex ?? createAtomName()}]`;
};
exports.createArrayItemAtomName = createArrayItemAtomName;
const createMapValueAtomName = (parentAtomName, childIndex) => {
return `${parentAtomName}.Value@${childIndex ?? createAtomName()}`;
};
exports.createMapValueAtomName = createMapValueAtomName;
const createMapKeyAtomName = (parentAtomName, childIndex) => {
return `${parentAtomName}.Key@${childIndex ?? createAtomName()})`;
};
exports.createMapKeyAtomName = createMapKeyAtomName;
const createMapItemAtomName = (parentAtomName, childIndex) => {
return `${parentAtomName}.key(${childIndex ?? createAtomName()})`;
};
exports.createMapItemAtomName = createMapItemAtomName;
const createMapSizeAtomName = parentAtomName => {
return `${parentAtomName}.size`;
};
exports.createMapSizeAtomName = createMapSizeAtomName;
const createSetValueAtomName = (parentAtomName, childIndex) => {
return `${parentAtomName}.Value@${childIndex ?? createAtomName()}`;
};
exports.createSetValueAtomName = createSetValueAtomName;
const createSetTransformedAtomName = (parentAtomName, childIndex) => {
return `${parentAtomName}.Transformed@${childIndex ?? createAtomName()}`;
};
exports.createSetTransformedAtomName = createSetTransformedAtomName;
const createSetAtomName = parentAtomName => {
return `${parentAtomName}.Set`;
};
exports.createSetAtomName = createSetAtomName;
const createObjectKeysAtomName = parentAtomName => {
return `${parentAtomName}.keys`;
};
exports.createObjectKeysAtomName = createObjectKeysAtomName;
const createObjectComputedValueAtomName = (parentAtomName, childIndex) => {
return `${parentAtomName}.${childIndex ?? createAtomName()}.Computed`;
};
exports.createObjectComputedValueAtomName = createObjectComputedValueAtomName;
const createObjectValueAtomName = (parentAtomName, childIndex) => {
return `${parentAtomName}.${childIndex ?? createAtomName()}`;
};
exports.createObjectValueAtomName = createObjectValueAtomName;
const createPromiseAtomName = parentAtomName => {
return `${parentAtomName}.Promise`;
};
exports.createPromiseAtomName = createPromiseAtomName;
//# sourceMappingURL=reactive-names.js.map