101 lines
4.0 KiB
Plaintext
101 lines
4.0 KiB
Plaintext
import * as ts from 'typescript';
|
|
import type { TypeOrValueSpecifier } from './TypeOrValueSpecifier';
|
|
export interface ReadonlynessOptions {
|
|
readonly allow?: TypeOrValueSpecifier[];
|
|
readonly treatMethodsAsReadonly?: boolean;
|
|
}
|
|
export declare const readonlynessOptionsSchema: {
|
|
additionalProperties: false;
|
|
properties: {
|
|
allow: {
|
|
readonly items: {
|
|
readonly oneOf: [{
|
|
readonly type: 'string';
|
|
}, {
|
|
readonly additionalProperties: false;
|
|
readonly properties: {
|
|
readonly from: {
|
|
readonly enum: ["file"];
|
|
readonly type: 'string';
|
|
};
|
|
readonly name: {
|
|
readonly oneOf: [{
|
|
readonly type: 'string';
|
|
}, {
|
|
readonly items: {
|
|
readonly type: 'string';
|
|
};
|
|
readonly minItems: 1;
|
|
readonly type: 'array';
|
|
readonly uniqueItems: true;
|
|
}];
|
|
};
|
|
readonly path: {
|
|
readonly type: 'string';
|
|
};
|
|
};
|
|
readonly required: ["from", "name"];
|
|
readonly type: 'object';
|
|
}, {
|
|
readonly additionalProperties: false;
|
|
readonly properties: {
|
|
readonly from: {
|
|
readonly enum: ["lib"];
|
|
readonly type: 'string';
|
|
};
|
|
readonly name: {
|
|
readonly oneOf: [{
|
|
readonly type: 'string';
|
|
}, {
|
|
readonly items: {
|
|
readonly type: 'string';
|
|
};
|
|
readonly minItems: 1;
|
|
readonly type: 'array';
|
|
readonly uniqueItems: true;
|
|
}];
|
|
};
|
|
};
|
|
readonly required: ["from", "name"];
|
|
readonly type: 'object';
|
|
}, {
|
|
readonly additionalProperties: false;
|
|
readonly properties: {
|
|
readonly from: {
|
|
readonly enum: ["package"];
|
|
readonly type: 'string';
|
|
};
|
|
readonly name: {
|
|
readonly oneOf: [{
|
|
readonly type: 'string';
|
|
}, {
|
|
readonly items: {
|
|
readonly type: 'string';
|
|
};
|
|
readonly minItems: 1;
|
|
readonly type: 'array';
|
|
readonly uniqueItems: true;
|
|
}];
|
|
};
|
|
readonly package: {
|
|
readonly type: 'string';
|
|
};
|
|
};
|
|
readonly required: ["from", "name", "package"];
|
|
readonly type: 'object';
|
|
}];
|
|
};
|
|
readonly type: 'array';
|
|
};
|
|
treatMethodsAsReadonly: {
|
|
type: "boolean";
|
|
};
|
|
};
|
|
type: "object";
|
|
};
|
|
export declare const readonlynessOptionsDefaults: ReadonlynessOptions;
|
|
/**
|
|
* Checks if the given type is readonly
|
|
*/
|
|
export declare function isTypeReadonly(program: ts.Program, type: ts.Type, options?: ReadonlynessOptions): boolean;
|