本文整理汇总了TypeScript中@orbit/utils.deepSet函数的典型用法代码示例。如果您正苦于以下问题:TypeScript deepSet函数的具体用法?TypeScript deepSet怎么用?TypeScript deepSet使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了deepSet函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: deepSet
Object.keys(keys).forEach(keyName => {
let keyValue = keys[keyName];
if (keyValue) {
deepSet(this._idsToKeys, [type, keyName, id], keyValue);
deepSet(this._keysToIds, [type, keyName, keyValue], id);
}
});
示例2: deepGet
Object.keys(replacement.relationships).forEach(field => {
let data = deepGet(replacement, ['relationships', field, 'data']);
if (data !== undefined) {
let currentData = deepGet(current, [
'relationships',
field,
'data'
]);
let relationshipChanged;
if (isArray(data)) {
if (currentData) {
relationshipChanged = !equalRecordIdentitySets(
currentData,
data
);
} else {
relationshipChanged = true;
currentData = [];
}
} else {
if (currentData) {
relationshipChanged = !equalRecordIdentities(currentData, data);
} else {
relationshipChanged = true;
currentData = null;
}
}
if (relationshipChanged) {
changed = true;
deepSet(result, ['relationships', field, 'data'], currentData);
}
}
});
示例3: replaceRecordAttribute
function replaceRecordAttribute(
record: RecordIdentity,
attribute: string,
value: any
) {
deepSet(record, ['attributes', attribute], value);
}
示例4: deepGet
Object.keys(replacement[grouping]).forEach(field => {
let value = replacement[grouping][field];
let currentValue = deepGet(current, [grouping, field]);
if (!eq(value, currentValue)) {
changed = true;
deepSet(result, [grouping, field], currentValue === undefined ? null : currentValue);
}
});
示例5: updateRecordAddToHasMany
function updateRecordAddToHasMany(
record: Record,
relationship: string,
relatedRecord: RecordIdentity
) {
const data = deepGet(record, ['relationships', relationship, 'data']) || [];
data.push(cloneRecordIdentity(relatedRecord));
deepSet(record, ['relationships', relationship, 'data'], data);
}
示例6: deepGet
.then(record => {
let relationships = deepGet(record, ['relationships', operation.relationship, 'data']);
if (relationships) {
relationships.push(operation.relatedRecord);
} else {
deepSet(record, ['relationships', operation.relationship, 'data'], [operation.relatedRecord]);
}
return source.putRecord(record);
});
示例7: deepSet
['filter', 'include', 'page', 'sort'].forEach(param => {
let value = (options as any)[param];
if (value) {
if (param === 'include' && isArray(value)) {
value = value.join(',');
}
deepSet(settings, ['params', param], value);
}
});
示例8: replaceRecordHasOne
function replaceRecordHasOne(
record: RecordIdentity,
relationship: string,
relatedRecord: RecordIdentity
) {
deepSet(
record,
['relationships', relationship, 'data'],
relatedRecord ? cloneRecordIdentity(relatedRecord) : null
);
}
示例9: updateRecordReplaceHasMany
function updateRecordReplaceHasMany(
record: Record,
relationship: string,
relatedRecords: RecordIdentity[]
) {
deepSet(
record,
['relationships', relationship, 'data'],
relatedRecords.map(cloneRecordIdentity)
);
}
示例10: replaceRecordHasMany
function replaceRecordHasMany(
record: RecordIdentity,
relationship: string,
relatedRecords: RecordIdentity[]
) {
deepSet(
record,
['relationships', relationship, 'data'],
relatedRecords.map(r => cloneRecordIdentity(r))
);
}