本文整理匯總了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))
);
}