433
return { raw: properties, restricted: [], hasExcludedProperties };
434
}
436
>
const restricted: string[] = [];
437
>
for (const key in properties) {
438
>
if (OVERRIDE_PROPERTY_REGEX.test(key) && filterOverriddenProperties) {
439
const result = this.filter(properties[key] as IStringDictionary<unknown>, configurationProperties, excludedConfigurationProperties, false, options);
440
raw[key] = result.raw;
441
hasExcludedProperties = hasExcludedProperties || result.hasExcludedProperties;
442
restricted.push(...result.restricted);
444
>
const propertySchema = configurationProperties[key];
445
>
if (propertySchema?.restricted) {
446
restricted.push(key);
447
}
448
>
if (this.shouldInclude(key, propertySchema, excludedConfigurationProperties, options)) {
configurationModels.ts
449
raw[key] = properties[key];
451
hasExcludedProperties = true;
452
}
454
>
}
455
>
return { raw, restricted, hasExcludedProperties };
456
}
457
458
private shouldInclude(key: string, propertySchema: IConfigurationPropertySchema | undefined, excludedConfigurationProperties: IStringDictionary<IRegisteredConfigurationPropertySchema>, options: ConfigurationParseOptions): boolean {
460
return false;
461
}
463
>
if (options.include?.includes(key)) {
464
return true;
465
}
466
468
return false;
469
}
470
472
return false;
473
}
474
475
const schema = propertySchema ?? excludedConfigurationProperties[key];
476
>
const scope = schema ? typeof schema.scope !== 'undefined' ? schema.scope : ConfigurationScope.WINDOW : undefined;
configurationModels.ts
477
>
if (scope === undefined || options.scopes === undefined) {
478
return true;
479
}
480
481
return options.scopes.includes(scope);
483
484
private toOverrides(raw: IStringDictionary<unknown>, conflictReporter: (message: string) => void): IOverrides[] {