export function clearFirestoreData()

in src/providers/firestore.ts [261:301]


export function clearFirestoreData(options: { projectId: string } | string) {
  return new Promise((resolve, reject) => {
    let projectId;

    if (typeof options === 'string') {
      projectId = options;
    } else if (typeof options === 'object' && has(options, 'projectId')) {
      projectId = options.projectId;
    } else {
      throw new Error('projectId not specified');
    }

    const config = {
      method: 'DELETE',
      hostname: 'localhost',
      port: FIRESTORE_PORT,
      path: `/emulator/v1/projects/${projectId}/databases/(default)/documents`,
    };

    const req = http.request(config, (res) => {
      if (res.statusCode !== 200) {
        reject(new Error(`statusCode: ${res.statusCode}`));
      }
      res.on('data', () => {});
      res.on('end', resolve);
    });

    req.on('error', (error) => {
      reject(error);
    });

    const postData = JSON.stringify({
      database: `projects/${projectId}/databases/(default)`,
    });

    req.setHeader('Content-Length', postData.length);

    req.write(postData);
    req.end();
  });
}