mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
Merge pull request #12174 from meteor/core-packages-types
Type definitions for core packages
This commit is contained in:
71
packages/ejson/ejson.d.ts
vendored
Normal file
71
packages/ejson/ejson.d.ts
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
export interface EJSONableCustomType {
|
||||
clone?(): EJSONableCustomType;
|
||||
equals?(other: Object): boolean;
|
||||
toJSONValue(): JSONable;
|
||||
typeName(): string;
|
||||
}
|
||||
|
||||
export type EJSONableProperty =
|
||||
| number
|
||||
| string
|
||||
| boolean
|
||||
| Object
|
||||
| number[]
|
||||
| string[]
|
||||
| Object[]
|
||||
| Date
|
||||
| Uint8Array
|
||||
| EJSONableCustomType
|
||||
| undefined
|
||||
| null;
|
||||
|
||||
export interface EJSONable {
|
||||
[key: string]: EJSONableProperty;
|
||||
}
|
||||
|
||||
export interface JSONable {
|
||||
[key: string]:
|
||||
| number
|
||||
| string
|
||||
| boolean
|
||||
| Object
|
||||
| number[]
|
||||
| string[]
|
||||
| Object[]
|
||||
| undefined
|
||||
| null;
|
||||
}
|
||||
|
||||
export interface EJSON extends EJSONable {}
|
||||
|
||||
export namespace EJSON {
|
||||
function addType(
|
||||
name: string,
|
||||
factory: (val: JSONable) => EJSONableCustomType
|
||||
): void;
|
||||
|
||||
function clone<T>(val: T): T;
|
||||
|
||||
function equals(
|
||||
a: EJSON,
|
||||
b: EJSON,
|
||||
options?: { keyOrderSensitive?: boolean | undefined }
|
||||
): boolean;
|
||||
|
||||
function fromJSONValue(val: JSONable): any;
|
||||
|
||||
function isBinary(x: Object): x is Uint8Array;
|
||||
function newBinary(size: number): Uint8Array;
|
||||
|
||||
function parse(str: string): EJSON;
|
||||
|
||||
function stringify(
|
||||
val: EJSON,
|
||||
options?: {
|
||||
indent?: boolean | number | string | undefined;
|
||||
canonical?: boolean | undefined;
|
||||
}
|
||||
): string;
|
||||
|
||||
function toJSONValue(val: EJSON): JSONable;
|
||||
}
|
||||
3
packages/ejson/package-types.json
Normal file
3
packages/ejson/package-types.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"typesEntry": "ejson.d.ts"
|
||||
}
|
||||
@@ -5,6 +5,7 @@ Package.describe({
|
||||
|
||||
Package.onUse(function onUse(api) {
|
||||
api.use(['ecmascript', 'base64']);
|
||||
api.addAssets('ejson.d.ts', 'server');
|
||||
api.mainModule('ejson.js');
|
||||
api.export('EJSON');
|
||||
});
|
||||
|
||||
4
packages/fetch/fetch.d.ts
vendored
Normal file
4
packages/fetch/fetch.d.ts
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
export declare function fetch(): typeof globalThis.fetch;
|
||||
export declare var Headers: typeof globalThis.Headers;
|
||||
export declare var Request: typeof globalThis.Request;
|
||||
export declare var Response: typeof globalThis.Response;
|
||||
3
packages/fetch/package-types.json
Normal file
3
packages/fetch/package-types.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"typesEntry": "fetch.d.ts"
|
||||
}
|
||||
@@ -19,6 +19,7 @@ Package.onUse(function(api) {
|
||||
api.mainModule("legacy.js", "legacy");
|
||||
api.mainModule("server.js", "server");
|
||||
|
||||
api.addAssets("fetch.d.ts", "server");
|
||||
// The other exports (Headers, Request, Response) can be imported
|
||||
// explicitly from the "meteor/fetch" package.
|
||||
api.export("fetch");
|
||||
|
||||
Reference in New Issue
Block a user